顺序表
#include<stdio.h> #include<stdlib.h> #define MaxSize 10 //定义顺序表 typedef struct{ int number[MaxSize]; int length; //顺序表的当前长度 }SqList; //初始化顺序表 void InitList(SqList &L){ int num=1; L.length=0; for(int i=0;i<5;i++){ L.number[i]=num; num++; L.length++; } } //插入操作 void ListInsert(SqList &L,int i,int e){ if(i<1||i>L.length+1){ //保证数据表元素连续存放 printf("error\n"); } if(L.length>=MaxSize){ //防止数据溢出 printf("error\n"); } //插入操作 for(int j=L.length;j>=i;j--){ //将第i个元素以及之后元素都往后移 L.number[j]=L.number[j-1]; } L.number[i-1]=e; //将e插入到第i个位置 L.length++; printf("The length of the SqList is:%d\n",L.length); } //删除操作 void ListDelete(SqList &L,int i,int &e){ if(i<1||i>L.length){ printf("error"); } e=L.number[i-1]; for(int j=i;j<L.length;j++){ L.number[j-1]=L.number[j]; } L.length--; printf("The deleted number is:%d\n",e); } //按值查找 void LcateElem(SqList L,int e){ bool judge=0; for(int i=0;i<L.length;i++){ if(L.number[i]==e){ judge=11; printf("The number is number[%d]",i); } } if(judge==0){ printf("none"); } } //主函数 int main() { SqList L; InitList(L); //插入 ListInsert(L,2,6); for(int i=0;i<L.length;i++){ printf("%d\n",L.number[i]); } //删除 int e=0; ListDelete(L,3,e); for(int i=0;i<L.length;i++){ printf("%d\n",L.number[i]); } //按值查找 LcateElem(L,3); }