顺序表的基本操作

    xiaoxiao2021-03-25  137

    线性表的顺序储存结构--顺序表的基本操作。方便以后学习复习时用到,顺便也希望能帮到大家!

    #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; #define MAXSIZE 1024 typedef int datatype; typedef struct{ datatype data[MAXSIZE]; int last; }sqlist,*sqlink; /*置空表*/ void ListClear(sqlink L){ L->last=-1; } /*取ai*/ datatype GetElem(sqlink L,int i){ return L->data[i]; } /*求表长*/ int ListLength(sqlink L){ return L->last; } /*将一给定的值e插在元素ai之前*/ int ListInsert(sqlink L,int i,datatype e){ if(L->last==MAXSIZE-1) return -1; if(i<0 || i>L->last+1) return -2; for(int j=L->last;j>=i;j--){ L->data[j+1]=L->data[j]; } L->data[i]=e; L->last++; return 0; } /*将表中第i个元素ai从表中删除*/ int ListDel(sqlink L,int i){ if(i<0 || i>L->last) return -1; for(int j=i+1;j<=L->last;j++){ L->data[j-1]=L->data[j]; } L->last--; return 0; } int main(){ sqlink L; L = (sqlink)malloc(sizeof(sqlist)); cin>>L->last; int i=0; while(i<L->last){ cin>>L->data[i]; i++; } cout<<ListInsert(L,4,999)<<endl; int j=0; while(j<L->last){ cout<<L->data[j]<<"<"; j++; } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-3743.html

    最新回复(0)