久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: C語言排序算法1.0 [打印本頁]

作者: 須彌    時(shí)間: 2024-5-13 18:57
標(biāo)題: C語言排序算法1.0
分享C語言寫的部分排序算法,還沒完善夠
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. #define BUBBLE      0       //冒泡排序
  5. #define CHOOSE      1       //選擇排序



  6. //插入排序
  7. //希爾排序
  8. //歸并排序(迭代法)
  9. //歸并排序(遞歸法)
  10. //快速排序(迭代法)
  11. //快速排序(遞歸法)
  12. //雞尾酒排序
  13. //堆排序
  14. //計(jì)數(shù)排序
  15. //基數(shù)排序
  16. //桶排序
  17. int main(int argc,char *argv[])     //main函數(shù)的有參形式
  18. {
  19.     int arr[5] = {9,3,2,5,7};
  20.     int i = 0,j = 0;
  21.     int change_time = 0, time = 0, last_time = 0, tmp_index= 0, temp = 0;

  22.     system("cls");  //清屏

  23.     printf("原始數(shù)據(jù):");
  24.     for(i = 0; i < 5; i++)
  25.         printf(" %d",arr[i]);
  26.    
  27.     printf("\n");

  28. #if BUBBLE
  29.     printf("\033[36m冒泡排序:\n\033[0m");
  30.     {
  31.         change_time = 0;
  32.         time = 0;   //記錄排序次數(shù)
  33.         last_time = 0;

  34.         for(i = 0;i < 5 - 1; i++)
  35.         {
  36.             //每一次冒泡
  37.             for(j = 0;j < 5-1-i;j++)
  38.             {
  39.                 if(arr[j] > arr[j+1])
  40.                 {
  41.                     int temp = arr[j];
  42.                     arr[j] = arr[j+1];
  43.                     arr[j+1] = temp;

  44.                     time++;
  45.                 }
  46.             }

  47.             if(time == last_time)
  48.             {
  49.                 printf("排序完成,內(nèi)循環(huán)次數(shù):%d,交換次數(shù):%d\n",i+1,time);
  50.                 break;
  51.             }
  52.             last_time = time;
  53.         }
  54.     }
  55. #endif

  56. #if CHOOSE
  57.     printf("\033[36m選擇排序:\n\033[0m");
  58.     {
  59.         change_time = 0;
  60.         time = 0;   //記錄排序次數(shù)
  61.         last_time = 0;

  62.         for(i = 0;i < 5 - 1; i++)
  63.         {
  64.             tmp_index = i;   //tmp_index 此時(shí)代表最小值的下標(biāo)

  65.             for(j = i;j < 5;j++)
  66.             {
  67.                 if(arr[j] < arr[tmp_index])
  68.                 {
  69.                     tmp_index = j;

  70.                     time++;
  71.                 }
  72.             }

  73.             if(tmp_index != i)
  74.             {
  75.                 int temp = arr[tmp_index];
  76.                 arr[tmp_index] = arr[i];
  77.                 arr[i] = temp;

  78.                 change_time++;
  79.             }

  80.             if(i == 3)
  81.             {
  82.                 printf("排序完成,內(nèi)循環(huán)次數(shù):%d,選擇次數(shù): %d,交換次數(shù): %d\n",i+1,time,change_time);
  83.                 break;
  84.             }
  85.             last_time = time;
  86.         }
  87.     }
  88. #endif









  89.     printf("最終結(jié)果:");
  90.     for(i = 0; i < 5; i++)
  91.         printf(" %d",arr[i]);
  92.    
  93.     printf("\n\n按任意鍵退出\n");
  94.     system("pause");
  95.     return 0;
  96. }
復(fù)制代碼







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人一级毛片 | 国产成人综合网 | 涩涩视频免费观看 | 天天综合永久入口 | 国产精品视频网站 | 青草福利视频 | 久久精品在线观看 | 欧美性猛交xxxx乱大交退制版 | 国产日韩欧美日韩大片 | 亚洲人成在线播放 | 国产传媒一区二区 | 超碰免费97 | 日本大尺度吃奶做爰久久久绯色 | 中文字幕一区二 | 在线午夜视频 | 日本一级大毛片a一 | 欧美www| 欧美精品日韩 | 色妞网站| 亚洲精品免费在线 | 亚洲性天堂 | 日韩欧美久久 | 国产在线视频一区 | 日本在线视频一区二区 | 国产香蕉av| 欧美a在线观看 | 激情综合网五月 | 日韩精品在线一区二区 | 国产高清视频在线 | 夜间福利视频 | 国产精品激情 | 国产91在线播放 | av在线一区二区三区 | 亚洲国产91 | 久久国内精品 | 久久久久久免费 | 天天操免费视频 | 国产精品视屏 | 一区二区不卡视频 | 精品久久久久久久久久久久久 | 亚洲经典一区二区 |