觞的曲 觞的曲
愿(☆_☆)
关注数: 52 粉丝数: 83 发帖数: 4,622 关注贴吧数: 179
求大神看看这代码,当选择后就会提示关闭程序!!!! #include<iostream.h> #include<stdlib.h> #include<time.h> #include<math.h> #define MAXSIZE 100 typedef int datatype; typedef struct { datatype a[MAXSIZE]; int size; }sequence_list; void inti(sequence_list *slt); void input(sequence_list slt); void output(sequence_list slt); int find(sequence_list slt,datatype x); void insert(sequence_list *slt,datatype x,int position); void dele(sequence_list *slt,int position); void inti(sequence_list *slt)//置空表 { slt->size=0; } //输入顺序表的元素 void input(sequence_list slt) { int i; cout<<"请输入顺序表元素的个数:"; cin>>slt.size; for(i=0;i<slt.size;i++) cin>>slt.a[i]; } void output(sequence_list slt) { int i; cout<<"输出顺序表元素的各个元素"; for(i=0;i<slt.size;i++) cout<<slt.a[i]; } int find(sequence_list slt,datatype x) { int i=0; for(i=0;i<slt.size;i++) if(x==slt.a[i]) break; if(i<slt.size)//成功找到 return i; else//失败 return 0; } void insert(sequence_list *slt,datatype x,int position) { int i; if(slt->size==MAXSIZE) { cout<<"\n顺序表是满的!没法插入"; exit(1); } if(position<0||position>slt->size) { cout<<"\n指定插入的位置不存在!"; exit(1); } for(i=slt->size-1;i>=position;i--) slt->a[i+1]=slt->a[i]; slt->a[position]=x; slt->size++; } void dele(sequence_list *slt,int position) { int i; if(slt->size ==0) {cout<<"\n顺序表是空的!"; exit(1); } if(position<0||position>=slt->size ) { cout<<"\n指定的删除位置不存在!"; exit(1); } for(i=position;i<slt->size ;i++) slt->a[i-1]=slt->a [i]; slt->size--; } void main() { system("color 3e"); int flag,position; datatype x; sequence_list slt; do { int i; system("cls"); //运行前清屏 for(i=0;i<80;i++) cout<<"*"; cout<<"\n- - - - - - - - - - - - - - - -顺序表 - - - - -- - - - - - - - - - \n"; cout<<" \t1.置空表\n"; cout<<"\t2.顺序表输入\n"; cout<<"\t3.顺序表输出\n"; cout<<"\t4.顺序表查找\n"; cout<<"\t5.顺序表插入\n"; cout<<"\t6.顺序表删除\n"; //cout<<"\n- - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n"; //for(i=0;i<80;i++) //cout<<"*"; cout<<"\n\t输入选择类型1--6:"; cin>>"%d",&flag; switch(flag) { case 1:inti(&slt);break; case 2:input(slt);break; case 3:output(slt);break; case 4:find(slt,x);break; case 5:insert(&slt,x,position);break; case 6:dele(&slt,position);break; exit(0); default: cout<<"\t请重新输入:\n\t\t"; system("pause>null"); //按任意键继续,并不显示出来 } }while(flag); }
1 下一页