链表基本操作与排序(c语言) |
您所在的位置:网站首页 › 怎么用c语言排序 › 链表基本操作与排序(c语言) |
(){ clock_t start, finish;;//起始 结束时间 double duration;//总计时间 ListNode Head; ListNode List;printf("\n\n\n"); printf("-------------操作选项-----------\n"); printf("1:返回菜单 \n"); printf("2:退出程序 \n"); printf("3:初试化,产生随机数 \n"); printf("4:打印单链表 \n"); printf("5:插入元素 \n"); printf("6:删除j位置的元素 \n"); printf("7:查找值为k的节点位置 \n"); printf("8:对链表进行冒泡排序 \n"); printf("9:对链表进行快速排序 \n"); printf("10:对链表进行合并排序 \n"); printf("--------------------------------\n"); int x,n,i,e,k,j; while (1) { printf("按数字键选择要执行的操作: "); scanf("%d",&x); printf("\n"); //输入2跳出循环,退出程序 if(x==2) break; switch(x) { case 1: break; //输入1,跳出switch语句,进入下一次循环 case 3: {printf("请输入数字n(随机产生n个数):");scanf("%d",&n); Head=CreatListTail(n); List = Head -> next; break; } case 4:{ dispLinkList(List); break; } case 5:{ printf("插入给i位置的元素为e \n"); printf("请输入i和e(中间用空格隔开)\n"); scanf("%d %d",&i,&e); InsLinkList(List,i,e); break; } case 6:{ printf("删除j位置的元素 \n"); scanf("%d",&j); DelLinkList(List,j); break; } case 7:{ printf("查找值为k的节点位置 \n"); printf("请输入k\n"); scanf("%d",&k); //LocLinkList(List,k); printf("%d",LocLinkList(List,k)) ; break; } case 8:{ printf("对链表进行冒泡排序 \n"); start = clock(); BubbleSort(List); finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; printf( "时间为 %f seconds\n", duration ); break; } case 9:{ printf("对链表进行快速排序 \n"); start = clock(); quickSort(List); finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; printf( "时间为 %f seconds\n", duration ); break; } case 10:{ printf("对链表进行合并排序 \n"); start = clock(); Mergesort(&List); finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; printf("时间为 %f seconds\n", duration ); break; } default: //数字输入错误,跳出siwtch语句,进入下一次循环 printf("输入的数字不正确\n"); break; } } return 0;} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |