#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);
}