顺序表在应用是还需要考虑多一部的存储问题,需要定义足够大的空间
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#define MaxSize 100
typedef struct SqList{
int data[MaxSize];
int length;
}SqList;
void InitList(SqList &L) {
L.length = 0;
}
SqList CreatList(SqList &L)
{
int i;
scanf("%d", &i);
if (i > MaxSize)
{
printf("空间不足");
return L;
}
for (int j = 0; j < i; j++)
{
scanf("%d", &L.data[j]);
}
L.length = i;
return L;
}
SqList Insert(SqList &L){ //插入
int e;
int i;
scanf("%d %d", &i, &e);
for (int j = L.length - 1; j >= i; j--)
{
L.data[j + 1] = L.data[j];
}
L.data[i] = e;
L.length++;
return L;
}
SqList del(SqList &L) { //删除
int i;
scanf("%d", &i);
if (i<0 || i>L.length - 1)
{
printf("下标不合适");
}
for (int j = i; j < L.length - 1; j++)
{
L.data[j] = L.data[j + 1];
L.length--;
}
return L;
}
int gett(SqList &L) {//查找
int k;
int m = 0;
scanf("%d",&k);
for (int i = 0; i < L.length; i++)
{
if (i = k)
{
m = L.data[i];
}
}
printf("%d", m);
return m;
}
int main() {
SqList L;
InitList(L);
CreatList(L);
for (int i = 0; i < L.length; i++)
{
printf("%d", L.data[i]);
}
system("pause");
}