- 2
- 0
- 约5.21千字
- 约 23页
- 2019-05-02 发布于浙江
- 举报
i=3;j:0~1 (n-i-2) * i=4;j:0~0 (n-i-2) * * 排序---程序设计中的常见算法 选择法 冒泡法 插入法 …… * 从所有的数中找出最小的一个,将其放在最前面;接着在余下的数中找出最小的一个,将其放在第二位,依次类推,数列由前往后逐渐成型。 用选择法对10个整数按照从小到大的顺序排列。 思 路 下面以6个数(22、34、10、5、89、45)为例,用图示说明。 * 选择法第一轮:先找出序列中最小的一个放在i=0位置。 22 34 10 5 89 45 i 0 1 2 3 4 5 22 34 10 5 89 45 排i=0位置 i=0 min=i j 22 34? j 22 10? min=j j 10 5? min=j j 5 89? j 5 45? 5 34 10 22 89 45 min!=i? * 选择法第二轮:找出序列中次小的一个放在i=1位置。 5 34 10 22 89 45 i 0 1 2 3 4 5 5 34 10 22 89 45 排i=1位置 i=1 min=i j 34 10? min=j j 10 22? j 10 89? j 10 45? 5 10 34 22 89 45 min != i? * 选择法第三轮:找出序列中第三小的放在i=2位置。 5 10 34 22 89 45 i 0 1 2 3 4 5 5 10 34 22 89 45 排i=2位置 i=2 min=i j 34 22? j 22 89? j 22 45? 5 10 22 34 89 45 min != i? min=j * 选择法第四轮:找出序列中第四小的放在i=3位置。 5 10 22 34 89 45 i 0 1 2 3 4 5 5 10 22 34 89 45 排i=3位置 i=3 min=i j 34 89? j 34 45? 5 10 22 34 89 45 min != i? * 选择法第五轮:找出序列中第五小的放在i=4位置。 5 10 22 34 89 45 i 0 1 2 3 4 5 5 10 22 34 89 45 排i=4位置 i=4 min=i j 89 45? 5 10 22 34 45 89 min != i? min=i 中心段出现为 for (i = 0; i 10 - 1; i++) { min = i; for(j = i + 1; j 10; j++) { if(arr[min] arr[j]) { min = j; } } if (min != i) { temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } } 分析结果: 输入:n个数存入数组中 输出:排序后的n个数(小——大) 方法:选择法,当i:0~n-2,初值min=i,j:i+1~n-1,比较min与j所指元素值的大小,用min记下较小值的位置,当min!= i时,交换i与min所指元素的值,最小者最先排好,序列从前向后形成。 #include stdio.h int main(void) { int arr[10], i, j, temp, min; printf(Please input 10 numbers:\n); for (i = 0; i 10; i++) { scanf(%d, arr[i]); } for (i = 0; i 10 - 1; i++) { min = i; for(j = i + 1; j 10; j++) { if(arr[min] arr[j]) { min = j; } } if (min != i) { temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } } printf(The sorted numbers:\n); for (i = 0; i 10; i++) { printf(%4d, arr[i]); } printf(\n); return 0; } * 对相邻两个数进行比较,将较小的调到前面,两两比较一轮之后,最大的一个数被放置在最后面;接着从头开始重复执行以上操作,次大的数被放置在倒数第二位,依次类推,数列由后往前逐渐成型。 用冒泡法对10个整数排序(从小到大)。 思 路 冒泡法的核心:小数上浮,大数下沉。 冒泡法第一轮:使最大的数放在最后一个位置上 22 34 10 5 89 45 i 0
您可能关注的文档
- 8.3摩力ppt.ppt
- 8.《虎门烟》(完美版).ppt
- 8086汇语言指令集.doc
- 820电路原考试大纲.doc
- 8.跨境电商络营销手段.ppt
- 8.难忘的天-上课.ppt
- 85度C营销策略分与策划报告.doc
- 8D解决问的8个步骤(最终版).ppt
- 8D问题析与解决.ppt
- 8.彩色梦ppt.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 北师大版四年级数学下册全册课时练习.pdf VIP
- 南京邮电大学C语言期末试卷及答案.pdf VIP
- 康复治疗技术操作规范.docx VIP
- 2025年急危重症患者CT检查护理管理专家共识解读PPT课件.pptx VIP
- 南京邮电大学《C语言程序设计》2024-2025学年第一学期期末试卷及答案.docx VIP
- 施耐德ATV御程系列ATV630 ATV650编程手册中文.pdf
- 新译林版高中英语选择性必修二 unit 4词汇默写本.docx VIP
- 新译林版高中英语选择性必修二 unit 3词汇默写本.docx VIP
- 新译林版高中英语选择性必修二 unit 2词汇默写本.docx VIP
- 2026年太原城市职业技术学院单招职业适应性测试题库附答案.docx VIP
原创力文档

文档评论(0)