数据结构实验程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序表的基本操作
#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);