亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C語言的冒泡排序和快速排序算法使用實例

2020-05-23 14:15:48
字體:
來源:轉載
供稿:網(wǎng)友

這篇文章主要介紹了C語言的冒泡排序和快速排序算法使用實例,示例題目也是ACM練習當中的基礎習題,需要的朋友可以參考下

冒泡排序法

題目描述:

用一維數(shù)組存儲學號和成績,然后,按成績排序輸出。

輸入:

輸入第一行包括一個整數(shù)N(1<=N<=100),代表學生的個數(shù)。

接下來的N行每行包括兩個整數(shù)p和q,分別代表每個學生的學號和成績。

輸出:

按照學生的成績從小到大進行排序,并將排序后的學生信息打印出來。

如果學生的成績相同,則按照學號的大小進行從小到大排序。

樣例輸入:

3

1 90

2 87

3 92

樣例輸出:

2 87

1 90

3 92

代碼:

 

 
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3.  
  4. struct student  
  5. {  
  6. int number;  
  7. int score;  
  8. };  
  9.  
  10. int main()  
  11. {  
  12. struct student students[101];  
  13. int n, i, j;  
  14. struct student temp;  
  15.  
  16. while(scanf("%d",&n) != EOF)  
  17. {  
  18. //接收數(shù)據(jù)  
  19. for(i = 0; i < n; i++)  
  20. {  
  21. scanf("%d%d",&students[i].number,&students[i].score);  
  22. }  
  23.  
  24. //冒泡排序  
  25. for(i = 0; i < n - 1; i ++)  
  26. {  
  27. for(j = 0; j < n - i - 1; j ++)  
  28. {  
  29. if(students[j].score > students[j + 1].score)  
  30. {  
  31. temp = students[j];  
  32. students[j] = students[j + 1];  
  33. students[j + 1] = temp;  
  34. }else if(students[j].score == students[j + 1].score)  
  35. {  
  36. if(students[j].number > students[j + 1].number)  
  37. {  
  38. temp = students[j];  
  39. students[j] = students[j + 1];  
  40. students[j + 1] = temp;  
  41. }  
  42. }  
  43. }  
  44. }  
  45.  
  46. //輸出排序結果  
  47. for(i = 0; i < n; i ++)  
  48. {  
  49. printf("%d %d/n",students[i].number,students[i].score);  
  50. }  
  51. }  
  52.  
  53. return 0;  
  54. }  

快速排序法

題目描述:

有N個學生的數(shù)據(jù),將學生數(shù)據(jù)按成績高低排序,如果成績相同則按姓名字符的字母序排序,如果姓名的字母序也相同則按照學生的年齡排序,并輸出N個學生排序后的信息。

輸入:

測試數(shù)據(jù)有多組,每組輸入第一行有一個整數(shù)N(N<=1000),接下來的N行包括N個學生的數(shù)據(jù)。

每個學生的數(shù)據(jù)包括姓名(長度不超過100的字符串)、年齡(整形數(shù))、成績(小于等于100的正數(shù))。

輸出:

將學生信息按成績進行排序,成績相同的則按姓名的字母序進行排序。

然后輸出學生信息,按照如下格式:

姓名 年齡 成績

樣例輸入:

3

abc 20 99

bcd 19 97

bed 20 97

樣例輸出:

bcd 19 97

bed 20 97

abc 20 99

代碼

 

 
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <string.h>  
  4.  
  5. struct student{  
  6. char name[101];  
  7. int age;  
  8. int grade;  
  9. };  
  10.  
  11. int partition(struct student *A, int left, int right);  
  12. void quicksort(struct student *A, int begin, int end);  
  13.  
  14. int main()  
  15. {  
  16. struct student students[1001];  
  17. int i, n;  
  18.  
  19. while(scanf("%d",&n) != EOF)  
  20. {  
  21. //學生成績賦值  
  22. for(i = 0; i < n; i ++)  
  23. {  
  24. scanf("%s%d%d",students[i].name, &students[i].age, &students[i].grade);  
  25. }  
  26.  
  27. //快速排序  
  28. quicksort(students, 0, n-1);  
  29.  
  30. //打印輸出  
  31. for(i = 0; i < n; i ++)  
  32. {  
  33. printf("%s %d %d/n",students[i].name, students[i].age, students[i].grade);  
  34. }  
  35. }  
  36.  
  37. return 0;  
  38. }  
  39.  
  40. void quicksort(struct student *A, int begin, int end)  
  41. {  
  42. int pivot;  
  43.  
  44. if(begin < end)  
  45. {  
  46. pivot = partition(A, begin, end);  
  47. quicksort(A, begin, pivot - 1);  
  48. quicksort(A, pivot + 1, end);  
  49. }  
  50. }  
  51.  
  52. int partition(struct student *A, int left, int right)  
  53. {  
  54. struct student stand = A[left];  
  55.  
  56. while(left < right)  
  57. {  
  58. while(left < right && (A[right].grade > stand.grade || (A[right].grade == stand.grade && strcmp(A[right].name,stand.name) > 0) || (A[right].grade == stand.grade && strcmp(A[right].name,stand.name) == 0 && A[right].age > stand.age ) ) )  
  59. {  
  60. right --;  
  61. }  
  62. if(left < right)  
  63. {  
  64. A[left ++] = A[right];  
  65. }  
  66.  
  67. while(left < right && (A[left].grade < stand.grade || (A[left].grade == stand.grade && strcmp(A[left].name,stand.name) < 0) || (A[left].grade == stand.grade && strcmp(A[left].name,stand.name) == 0 && A[left].age < stand.age ) ) )  
  68. {  
  69. left ++;  
  70. }  
  71. if(left < right)  
  72. {  
  73. A[right --] = A[left];  
  74. }  
  75. }  
  76. A[left] = stand;  
  77. return left;  

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美老熟妇一区二区三区| 国产精品羞羞答答xxdd| 国产欧美日韩成人| 亚洲午夜在线播放| 美女网站色精品尤物极品姐弟| 激情久久久久久久久久久久久久久久| 91综合久久爱com| 国产精品毛片一区视频播| 在线能看的av网站| chinesespank调教| 亚洲欧美国产va在线影院| 欧美成人国产va精品日本一级| 亚洲第一色网站| 欧美日韩高清免费| 99精品电影| 久久精品视频一区| 美女喷水网站| 欧美三级午夜理伦三级富婆| 久久久免费在线观看| 国产精品一级视频| 中文乱码字幕高清在线观看| 国产91精品在线播放| 久久99久久久久久| 伦理片一区二区| 国产精品久久二区二区| 中文字幕丰满乱子伦无码专区| 欧美日韩一区二区三区电影| 国产成人免费视频app| 国产精品乱子伦| 国产麻豆视频免费观看| 白白色 亚洲乱淫| 国产免费黄视频在线观看| 国产网红主播福利一区二区| 国产精品亚洲视频| 亚洲自拍偷拍一区二区| 国产区二区三区| 亚洲v在线看| 国产乱码精品一区二区| 国内外成人免费激情在线视频| 精品电影一区二区三区| 国产午夜无码视频在线观看| 老司机aⅴ在线精品导航| 日韩一级精品| 久久先锋影音av| 欧美欧美黄在线二区| 高清中文字幕一区二区三区| 成人精品动漫一区二区三区| 欧美韩国一区二区| 在线观看的日韩av| 国产一区二区三区在线看| 1区2区3区国产精品| 大吊一区二区三区| 欧美猛交免费看| 人妻体内射精一区二区| 亚洲bt欧美bt日本bt| 亚州福利视频| 亚洲精品中字| 久久久久久久久一区二区| 久久精品国产**网站演员| 欧美日韩午夜爽爽| 免费涩涩18网站入口| 亚洲精品视频在线观看免费| 在线观看av网| 视频精品一区二区三区| 成年大片免费视频播放二级| 国产亚洲一区字幕| 国产亚洲欧美视频| 给我看免费高清在线观看| 亚洲自拍另类| 天堂av在线| 91在线丨porny丨国产| www.av日韩| 亚洲成年人电影| jizzjizzjizz国产| 亚洲一区二区三区视频播放| 国产美女久久久久| 日韩国产精品一区二区三区| 日日干天天草| 亚洲黄色高清| 日韩中文字幕在线观看| 国产在线视频卡一卡二| 久久精品欧洲| 青娱乐在线视频观看| 魔女鞋交玉足榨精调教| 在线观看免费一区二区| 天堂网在线观看国产精品| 国产精品无码久久久久久| 精品国产视频在线| 久久久久成人网站| 强制捆绑调教一区二区| 久久久久久久欧美精品| 九九大香尹人视频免费| 中文在线免费视频| 天天色天天看| 国产成人av电影免费在线观看| 国产一区二区三区免费播放| 亚洲成色www8888| 少妇性色午夜淫片aaa播放| 免费av成人在线| 久久久久久久久久久久久女国产乱| 理论视频在线观看| 午夜精品亚洲一区二区三区嫩草| 亚洲一二三四在线| 国产精品视频一区二区三区综合| 国产视频自拍一区| 国产一区影院| 亚洲视频日韩| 欧美精品momsxxx| 国产精品日本欧美一区二区三区| 青娱乐国产在线视频| 欧美一级二级三级九九九| 国产一区二区三区不卡在线观看| 欧美揉bbbbb揉bbbbb| 欧美美女操人视频| 日本成人免费在线| 岛国在线视频免费看| 爆操欧美美女| 中文字幕亚洲乱码熟女1区2区| 91在线免费观看| eeuss第一页| 亚洲成人精品电影在线观看| 国产亚洲在线观看| 美女网站视频色| 免费在线观看av电影| 波多野结衣视频播放| 亚洲亚洲精品三区日韩精品在线视频| 亚洲午夜伦理| 91黄色免费观看| 天堂视频福利| 成人动漫一区二区在线| 在线精品一区二区三区| 精品国产免费久久久久久尖叫| 欧美日韩国产系列| 欧美日韩亚洲第一| 激情文学综合插| 天天天天天天操| 国产欧美日韩在线| 第一福利在线| 亚洲三级小视频| 国产视频一区二| 久久a级毛片毛片免费观看| www操操操| 国产成人精品a视频一区| 欧美一区二区三区在线观看视频| 激情91久久| 一区二区三区回区在观看免费视频| 91亚洲国产高清| 日色在线视频| 97热精品视频官网| 免费日韩中文字幕| 欧美在线影院在线视频| 一区视频在线| 国产精品久久久久久搜索| 99爱视频在线观看| 91视频xxxx| 亚洲精品福利| 在线免费中文字幕| 国产亚洲欧美日韩高清| 清纯粉嫩极品夜夜嗨av| 亚洲成人一区| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 2020中文字字幕在线不卡| 日韩精品有码在线观看| 欧美一区二区国产| 精品视频一二三区| 中文字幕在线观看成人| 成年人网站在线观看免费| 老司机aⅴ毛片免费观看| 国产一区亚洲二区三区| 欧美在线播放一区| 国产成人午夜电影| 色婷婷av一区二区| 亚洲欧美日韩国产yyy| 欧美日韩一区二区电影| 国产精品25p| 视频午夜在线| 中文字幕av不卡在线| 乱精品一区字幕二区| 爱爱精品视频| 中文字幕第一页在线| 中文字幕日本三级| 欧美美女黄色| 日本激情一区二区三区| 女生裸体无遮挡天堂网站免费| 亚洲天堂中文字幕| 欧美一区二区三区在线电影| 播五月开心婷婷综合| 日韩欧美精品在线观看视频| 精品无码人妻一区二区免费蜜桃| av中文字幕免费在线观看| 国内精品福利| 综合欧美一区二区三区| 美女一区二区久久| 国产一区二区三区影视| 成人一区不卡| 免费黄色网网址| 国产精品第10页| 无吗不卡中文字幕| 精品69视频一区二区三区| 亚洲成年人视频| 亚洲天堂日韩电影| 亚洲一区在线观看免费观看电影高清| 精品一区二区观看| 亚洲精品国产一区二| 国产成人在线一区二区| 久久精品视频免费播放| 成 人免费视频播放| 欧美成人一区二免费视频软件| 欧美一区日本一区韩国一区| 噜噜噜噜噜在线视频| 黑人极品ⅴideos精品欧美棵| 欧美日韩免费电影| 亚洲精品菠萝久久久久久久| 成人黄网18免费观看的网站| 亚洲色图欧美另类| 美女把尿口扒开让男人桶在线观看| 国产精品免费观看| 写真福利片hd在线播放| 老司机免费视频久久| 亚洲国产精品成人va在线观看| 欧美在线视频播放| 国产美女裸体无遮挡免费视频| 亚洲福利视频久久| 爱啪导航一精品导航站| av大片免费观看| 亚洲福利国产精品| 中文字幕视频在线| 欧美日韩成人免费| 亚洲精品久久久北条麻妃| 色呦呦在线播放| 欧美一级电影免费在线观看| 国产91精品一区二区麻豆网站| 亚洲国产综合久久精品小蝴蝶| 一二三级黄色片| 99re在线视频上| 精品91久久久| 国产精品成人网站| 亚洲精品乱码久久久久久蜜桃欧美| 亚洲精品久久久一区二区三区| 天堂中文资源在线| 国产一区二区三区视频| 亚洲欧美日本在线观看| 日本一区二区三区视频在线| 999国产精品| 青青草视频在线免费直播| 国产精品亚洲欧美日韩一区在线| 二区在线观看| 大伊香蕉精品视频在线| 狠狠操在线视频| 成人午夜激情免费视频| www视频在线观看com| 国产福利视频导航| 激情在线观看视频| 亚洲二区自拍| 黄色成人在线网站| 国产欧美一区二区三区小说| 日韩在线观看免费全| 996久久国产精品线观看| 可以在线观看的av| 国产精品一区在线播放| bt电影在线| 国语自产精品视频在免费| 精品久久福利| www.99re7.com| 久久综合九色综合久99| 国产综合久久久久久鬼色| 中文在线中文资源| 国产精品色午夜在线观看| 最近中文字幕av| 狠狠色噜噜狠狠狠狠黑人| 99天天综合性| 亚洲精品电影网在线观看| 青青影院在线观看| 久久综合图区亚洲综合图区| 国产精品视频首页| av成人免费观看| 亚洲精品v欧美精品v日韩精品| 大肉大捧一进一出好爽视频| 欧美猛男性生活免费| 久久久久久免费毛片精品| 玖玖爱在线观看| av观看久久| 五月天婷婷导航| 初高中福利视频网站| 国产精品成人播放| 成人免费高清| 91国偷自产一区二区三区的观看方式| 精品人妻一区二区三区浪潮在线| 日韩欧美在线第一页| 精品综合久久| 欧美变态xxxx| 高清一区二区三区av| 成人3d动漫一区二区三区| 国产网站av| 精品女厕一区二区三区| 97伦伦午夜电影理伦片| 日本调教视频在线观看| 欧美成人三级视频网站| 稀缺小u女呦精品呦| 国内露脸中年夫妇交换精品| 激情丁香久久| 91av一区| 国产午夜亚洲精品不卡| www.色综合.com| 久久天天综合| 2001个疯子在线观看| 国产伦精品一区二区三区精品视频| 亚洲福利合集| 激情小说亚洲图片| 国产乱色精品成人免费视频| 销魂美女一区二区| 国产一级免费看| 一区二区视频免费观看| 欧美黑人欧美精品刺激| 91福利区一区二区三区| 亚洲精品福利网站| 欧美一区二区大片| 国产丝袜视频在线观看| 十八禁视频网站在线观看| 天堂在线资源网| 成人ar影院免费观看视频| 欧美日韩另类一区| 日韩高清国产一区在线观看| 成人免费视频国产在线观看| caoporn视频在线| av男人的天堂av| 免费大片黄在线观看| ga∨成人网|