Example #1
0
int main()
{
	SqList L;
	printf("%ld\n",sizeof(L));
	InitSqList(L);
	int i;
	for(i=0;i<20;++i)
		push_back(L,i);
	Display(L);
	printf("L.length :%d\n",L.length);
	printf("listlength:%d\n",ListLength(L));
	Elem e,prio,next;
	GetElem(L,2,e);
	PriorElem(L,prio,e);
	NextElem(L,next,e);
	printf("the number 2 tumple:%d\n",e);
	printf("prio e:%d\n",prio);
	printf("next e:%d\n",next);
	ListInsert(L,8,10000);
	Display(L);
	LocateList(L,10000);
	DeleteK(L,5,3);
	Display(L);
	DestroyList(L);
	printf("size of a.length :%d\n",L.listsize);
	if(ListEmpty(L))
		printf("empty!\n");
	
	/*char* p = NULL;
	p=(char*)malloc(10*sizeof(char));
	if(p==NULL)
	{
		printf("filure");
		exit(1);
	}
	printf("%p\n",p);

	strcpy(p,"abc");
	printf("%c\n%c\n%c\n",*p,*p+1,*p+2);
	printf("%p\n%p\n",p,p+1);
	//if(p!=NULL)
		free(p);
	//p=NULL;
	
	//DestroyList(L);
	//Display(L);*/ return 0;
}
int main()
{
	int len,choose,i;
	//char name[20],id[20],job[20];
	SqList L;
	ElemType insert;

	InitSqList(L);
	printf("--顺序表 请输入要创建顺序表长度: ");
	scanf("%d",&len);
	printf("--请依次输入员工的 \n姓名  工号  职务\n");
	CreateSqList(L,len);

	printf("--显示所有员工信息如下\n姓名  工号  职务\n");
	DisplaySqList(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(SqListInsert(L,L.length,insert)==1?"--存入成功\n":"--存入失败 001\n");//每次插入到最后的前面,为倒数第二
			break;
		}
		case 2:{
			printf("--请输入需要删除员工的\n姓名   工号   职务\n");
			scanf("%s %s %s",insert.name,insert.id,insert.job);//name id job
			i = LocatedElem(L,insert);
			if(i>0 && i<L.length+1)//第一个元素位置为 1
			{
				printf("\n成功查询到员工信息 -- 位置: %02d \n",i);
				i =	SqListDelete(L,i);
				printf("%-16s\n",(i == 1?"\n删除成功\n":"\n删除失败 请检查位置脚标是否合理\n"));
			}else
			{
				printf("\n未查询到员工信息 -- 位置: %02d \n",i);
			}
			break;
			   }
		case 3:{
			printf("\n员工信息如下\n******************************************************\n");
				DisplaySqList(L);
				printf("\n******************************************************\n");
				break;
			   }
		case 4:{
				
			    DestorySqList(L);
				printf("\n******************数据销毁 程序结束*******************\n");
				exit(OVERFLOW);
			   }
		default:printf("\n请输入正确的选项: ");

		}
 
			printf("\n#####按任意键继续..#####");
			getchar();
			getchar();
			printf("\n-------------------我是分割线---------------------------\n");
			printf("-------------------分割线我是---------------------------\n");
			printf("-------------------分割线是我---------------------------\n");
	}

	return 0;
}