数据结构实验程序
- 格式:doc
- 大小:168.50 KB
- 文档页数:36
顺序表的基本操作
#include
using namespace std;
typedef int datatype;
#define maxsize 1024
#define NULL -1
typedef struct {
datatype *data;
int last;
}sequenlist;
void SETNULL(sequenlist &L) {
L.data=new datatype[maxsize];
for(int i=0;i L.data[i]=NULL; } void INITIALIZE(sequenlist &L) { cout<<"请输入结点个数:"< cin>>st; cout<<"请输入"< for(int i=0;i cin>>L.data[i]; } int LENGTH(sequenlist &L) { int i=0; while(L.data[i]!=NULL) i++; return i; } datatype GET(sequenlist &L,int i) { if(i<1||i>st) { cout<<"error1"< return NULL; } else return L.data[i-1]; } int LOCATE(sequenlist &L,datatype x) { int j=0; while(L.data[j]!=x) j++; if(j==st) { cout<<"所查找值不存在!"< return NULL; } else return (j+1); } int INSERT(sequenlist &L,datatype x,int i) { int j; if(st>=maxsize-1) { cout<<"overflow"; return NULL; } else if(i<1||(i>st)) { cout<<"error2"< return NULL; } else { for(j=(st);j>=i-1;j--) L.data[j+1]=L.data[j]; L.data[i-1]=x; st++; } return 1; } int DELETE(sequenlist &L,int i) { int j; if((i<1)||(i>st+1)) { cout<<"error3"< return NULL; } else { for(j=i;j<=st;j++) L.data[j-1]=L.data[j]; st--; } return 1; } int main() { sequenlist L; datatype x=5; int i=4; SETNULL(L); INITIALIZE(L); int a=LENGTH(L);