⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 对输入的一组数据进行插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序
💻 CPP
字号:
#include"header.h" 
#include"operation.h"

main() 
{ 
 Seqlist S; 
 int i,k; 
 char ch1,ch2,q; 
 printf("\n\t\t请输入%d个待排序的数据(按回车键分隔):\n\t\t",L); 
 for(i=1;i<=L;i++) 
 { 
   scanf("%d",&S[i].key); 
   getchar(); 
   printf("\t\t"); 
 } 
 printf("\n\t\t数据输入完毕!"); 
 ch1='y'; 
 while(ch1=='y'||ch1=='Y') 
 { 
 printf("\n"); 
 printf("\n\t\t 排 序 子 系 统 \n"); 
 printf("\n\t\t*******************************************\n"); 
 printf("\n\t\t* 1--------更新排序数据 *\n"); 
 printf("\n\t\t* 2--------直接插入排序 *\n"); 
 printf("\n\t\t* 3--------希 尔 排 序 *\n"); 
 printf("\n\t\t* 4--------冒 泡 排 序 *\n"); 
 printf("\n\t\t* 5--------快 速 排 序 *\n"); 
 printf("\n\t\t* 6--------选 择 排 序 *\n"); 
 printf("\n\t\t* 7--------归 并 排 序 *\n"); 
 printf("\n\t\t* 8--------堆 排 序 *\n"); 
 printf("\n\t\t* 0--------退 出 *\n"); 
 printf("\n\t\t*******************************************\n"); 
 printf("\n\t\t请选择菜单号(0到8)"); 
 scanf("%c",&ch2); 
 getchar(); 
 for(i=1;i<=L;i++) 
 { 
   R[i].key=S[i].key; 
 } 
 switch(ch2) 
 { 
   case '1': 
   printf("\n\t\t请输入%d个待排序数据(按回车键分隔)\n\t\t",L); 
   for(i=1;i<=L;i++) 
   { 
     scanf("%d",&S[i].key); 
     getchar(); 
     printf("\t\t"); 
   } 
     printf("\n\t\t数据输入完毕!"); 
  break; 
  
   case '2': 
     Insertsort(); 
  break; 
   
   case '3': 
    Shellsort(); 
  break; 

   case '4':  
    Bubblesort(); 
  break; 

   case '5': 
    printf("\n\t\t原始数据为(按回车键开始排序):\n\t\t"); 
      for(k=1;k<=L;k++) 
	  { 
       printf("%5d",R[k].key); 
	  } 
   getchar(); 
   printf("\n"); 
   num=0; 
   Quicksort(1,L); 
   printf("\n\t\t排序最终结果是:\n\t\t"); 
   for(k=1;k<=L;k++) 
   { 
     printf("%5d",R[k].key); 
   } 
  printf("\n"); 
 break; 

   case '6': 
    Selectsort(); 
  break; 

   case '7': 
    Mergesort(); 
  break; 

   case '8': 
     Heap(); 
  break; 

   case '0': 
    ch1='n'; 
  break; 
  default: 
 system("cls"); 
 printf("\n\t\t对不起,您输入有误,请重新输入!\n"); 
 break; 
} 
 if(ch2!='0') 
 { 
    if(ch2=='2'||ch2=='3'||ch2=='4'||ch2=='5'||ch2=='6'||ch2=='7'||ch2=='8') 
	{ 
     printf("\n\n\t\t排序完毕!"); 
     printf("\n\t\t按回车键继续!"); 
     q=getchar(); 
     if(q!='\xA') 
	 { 
     getchar(); 
     ch1='n'; 
	 } 
	}  
  } 
 } 
 return 0;
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -