void main() {sqlist L; int i,j,k,b,n,e,m,a,cur_e,pre_e,next_e,s; initlist(L); cout<<"初始化后的基值地址:"<<L.elem<<" L.length=:"<<L.length<<" L.listsize=:"<<L.listsize<<endl; cout<<"新建一顺序表."<<endl; cout<<"当前表是否为空表"<<listempty(L)<<endl; cout<<"定义该线性表长度:"<<endl; cin>>a; cout<<"分别输入线性表的各个元素,按ENTER"<<endl; for(k=1;k<=a;k++){ cin>>j; i=listinsert(L,k,j);} for(b=1;b<=a;b++) cout<<L.elem[b-1]<<endl; listlength(L); cout<<"当前表长:"<<L.length<<endl; cout<<"输入要取的数的位置n(n<=a)"<<endl; cin>>n; getelem(L,n,e); //cout<<L.elem[n-1]<<endl; cout<<e<<endl; cout<<"与该数相等的的一个数的位序为:"<<locateelem(L,e,compare)<<endl; cout<<"输入要取前驱的数的位置m(<=a)"<<endl; cin>>m; getelem(L,m,cur_e); if(priorelem(L,cur_e,pre_e)) cout<<"cur_e的前驱为:"<<pre_e<<endl; else cout<<"该元素没前驱"<<endl; nextelem(L,cur_e,next_e); if(nextelem(L,cur_e,next_e)) cout<<"cur_e的后继为:"<<next_e<<endl; else cout<<"该元素没后继"<<endl; cout<<"奇数在前,偶数在后,并输出"<<endl; move(L); for(s=1;s<=a;s++) cout<<L.elem[s-1]<<endl; cout<<"输入要删元素的位序m(<=a)"<<endl; cin>>m; listdelete(L,m,e); cout<<"被删的元素为:"<<e<<endl; cout<<"删除元素后表长为"<<L.length<<endl; //listtraverse(L,visit); cout<<"置为空表"<<clearlist(L)<<endl; cout<<"销毁线性表"<<destroylist(L)<<endl; }
int main() { int x[6]={3,6,5,2,8,9},a,c,d,e=8,g; bool b,f; sqlist *A; createlist(A,x,6); listinsert(A,4,1); listdelete(A,2,g); displist(A); a=listlength(A); b=getelem(A,3,c); d=locateelem(A,e); printf("%d\n",a); printf("%d\n",b); printf("%d\n",d); printf("%d\n",f); system("pause"); return 0; }
int main() { int x[]={32,42,334,22,67,89}; int a,c,d,f; bool b,e,g; linklist *A; createlistr(A,x,6); b=getelem(A,4,c); d=locateelem(A,67); listinsert(A,4,76); listdelete(A,2,f); displist(A); a=listlength(A); printf("%d\n",a); printf("%d\n",c); printf("%d\n",d); printf("%d\n",f); system("pause"); return 0; }
int main() { int len,choose,i; LinkList L; ElemType insert; InitLinkList(L); printf("--请输入要创建顺序表长度: "); scanf("%d",&len); printf("--请依次输入员工的 \n姓名 工号 职务\n"); CreateLinkList(L,len); printf("--显示所有员工信息如下\n姓名 工号 职务\n"); DisplayLinkList(L); while(true) { printf("\n\n***********************************\n--菜单--\n--· 1 插入员工信息\n--· 2 删除员工信息\n--· 3 显示所有员工信息\n--· 4 销毁所有员工数据\n***********************************\n请选择: "); scanf("%d",&choose); switch(choose){ case 1:{ printf("--请依次输入员工的\n姓名 工号 职务\n"); scanf("%s %s %s",insert.name,insert.id,insert.job);//name id job printf(LinkListInsert_L(L,1,insert)==1?"--存入成功\n":"--存入失败 001\n");// break; } case 2:{ printf("--请输入需要删除员工的\n姓名 工号 职务\n"); scanf("%s %s %s",insert.name,insert.id,insert.job);//name id job int index = locateelem(L,insert); if(index>0)//第一个元素位置为 1 { printf("\n成功查询到员工信息--位置:%2d\n",index); i = LinkListDelete_L(L,index);//删除第 i 个节点 printf("%-16s\n",(i == 1?"\n删除成功\n":"\n删除失败 请检查位置脚标是否合理\n")); }else { printf("\n未查询到员工信息--位置:%2d\n",index); } break; } case 3:{ printf("\n员工信息如下\n******************************************************\n"); DisplayLinkList(L); printf("\n******************************************************\n"); break; } case 4:{ ClearLinkList(L); printf("\n******************数据销毁 程序结束*******************\n"); exit(OVERFLOW); } default:printf("\n请输入正确的选项: "); } printf("#####按任意键继续..#####"); getchar(); getchar(); printf("\n-------------------我是分割线---------------------------\n"); printf("-------------------分割线我是---------------------------\n"); printf("-------------------分割线是我---------------------------\n"); } return 0; }