• 数据结构小结


    1、顺序表

    顺序表的定义

      #define MaxSize 100

      ElemType Sqlist[MaxSize];

      int len;

    相当于 int a[100];

    动态生成一张顺序表的方法可描述如下:

    #define MaxSize 100

    typedef struct{

    ElemType *elem;

    int length;

    int listsize;

    }Sqlist;

    void initSqlist(Sqlist *L){//初始化一张顺序表

    L->elem=(int *)malloc(MaxSize*sizeof(ElemType));

    if(!L->elem) exit(0);

    L->length=0;

    L->listsize=MaxSize;

    }

    向静态顺序表中第i个位置插入数据

    void InserElem(ElemType Sqlist[],int &n,int i,ElemType item){

    //向顺序表Sqlist中第i个位置插入元素item,该顺序表的原长度为n

    int t;

    if(n==MaxSize||i<1||i>n+1) exit(0);

    for(t=n-1;t>=i-1;t--)

    {

      Sqlist[t+1]=Sqlist[t];//后移元素

    }

    Sqlist[i-1]=item;

    n=n+1;//表长加1

    }

    向动态顺序表中第i个位置插入元素item

    void InsertElem(Sqlist *L, int i, ElemType item)

    {

      ElemType *base,*insertPtr,*p;

      if(i<1||i>L->length+1)exit(0);//非法插入

      if(L->length>=L->listsize)

      {

        base=(ElemType*)realloc(L->elem,(L->listsize+10)*sizeof(ElemType));//追加新空间

        L->elem=base;

        L->listsize=L->listsize+10;//存储空间加10

      }

    insertPtr=&(L->elem[i-1]);

    for(p=&(L->elem[L->length-1]);p>=insertPtr;p--)

      *(p+1)=*p;

    *insertPtr=item;

    L->length++;

    }

  • 相关阅读:
    「Python」pandas入门教程
    「Python」字符串操作内置函数
    「Python」10个python项目
    python-基础入门-序
    提取网站图片
    c#图片添加水印
    js获取url传递的参数
    构建之法阅读笔记01
    学习进度条<第一周>
    30道四则运算<1>
  • 原文地址:https://www.cnblogs.com/zhaoshuireshui/p/3700634.html
Copyright © 2020-2023  润新知