示例#1
0
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;
}
示例#2
0
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;
}