zoukankan      html  css  js  c++  java
  • 顺序表

    //顺序表结构体定义
    #define maxsize 100
    typedef struct
    {
        int date[maxsize];//存放顺序表元素的数组 
        int length;//存放顺序表长度 
     } sqlist;//sqlist 是别名.
     
     //插入算法的思路
     
     //如果插入位置不合理,抛出异常
     //如果线性表长度大于等于数组长度,抛出异常
     //从最后一个元素开始向前遍历到第i个位置,分别都将他们都向后移动一个单位
     //将要插入的元素填入位置i处
     //表长+1
     
     /*初始条件:线性表已经存在。 0<=i<=List_length*/
     /*操作:在线性表第i个元素之前插入数据元素e,线性表l的长度+1*/
     int sqlistInsert(sqlist &l,int i,elmentype e)
     {//i从0开始,代表数组的下标,[0,length]都可以插入, 
         int k=0;
         
         if(l.length==maxsize||i>l.length||i<0)//顺序表已经满了或者i不在范围时,返回错误0,插入失败 
             return 0;// 
        
        
        for(k=l.length-1;k>=i;k--)
        {
            l.date[k+1]=l.date[k];
        }
        
        l.date[i]=e;
        (l.length)++;
        return 1;
         
      } 
      
      
      
      
      //删除算法思路
      //如果删除位置不合理,抛出异常
      //取出删除元素
      //从删除元素位置开始遍历到最后一个位置,分别都将他们向前移动一个位置
      //表长-1
      int deletelem(sqlist &l,int p, int &e)//需要改变的变量用引用型 在表l中,删除第i个位置的元素,用e保存 
      {
          int i;
          
          if(p<0||p>l.length-1)//顺序表的下标是【0,length-1】
          return 0;
        
        e = l.date[p];
        
        for(i = p,i<l.length-1;i++)
            l.date[i]=l.date[i+1];
        
        l.length--;
        return 1; 
       } 
       
       
       
       //
  • 相关阅读:
    《java异常的一些总结》
    《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》
    《Java应用程序(Application)》
    CPU 内部 MOSFET 晶体管模型
    Intel 4004,世界上第一块 CPU
    VBScript
    VBScript
    Web Scraping(网页抓取)基本原理
    VBScript
    莎士比亚电路ヾ(≧▽≦*)o
  • 原文地址:https://www.cnblogs.com/qinmin/p/12293491.html
Copyright © 2011-2022 走看看