线性表的顺序存储–顺序表
线性表
顺序存储
顺序表链式存储
单链表(指针实现)双链表(指针实现)循环链表(指针实现)静态链表(借助数组实现)
顺序表实战代码
#include <iostream>
using namespace std;
#define Initsize 100
typedef int elemtype;
typedef struct
{
elemtype *data;
int MaxSize,length;
}SeqList;
bool ListInsert(SeqList &L,
int i,elemtype e)
{
if (i<
1 || i>L.length+
1)
return false;
if (L.length>=L.MaxSize)
return false;
for (
int j=L.length;j>=i;j--)
L.data[j]=L.data[j-
1];
L.data[i-
1]=e;
L.length++;
return true;
}
bool ListDelete(SeqList &L,
int i)
{
if (i<
1||i>L.length)
return false;
for (
int j=i;j<L.length;j++)
L.data[j-
1]=L.data[j];
L.length--;
return true;
}
int ListkFind(SeqList &L,elemtype e)
{
for (
int j=
0;j<L.length;j++)
if (L.data[j]==e)
return ++j;
return false;
}
int main() {
SeqList L;
L.data=
new elemtype[Initsize];
L.MaxSize=
100;
L.length=
0;
for (
int i=
0;i<
20;i++)
ListInsert(L,i+
1,i);
cout<<
"*******"<<endl;
cout<<ListkFind(L,
14)<<endl;
cout<<
"*******"<<endl;
ListDelete(L,
3);
for (
int i=
0;i<
20;i++)
cout<<L.data[i]<<endl;
}