冒泡法排序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
排序演示
程序
#include<stdio.h> #define N 10 void main() { int a[N+1],b,c,temp; printf("请输入 个数字:\n"); 请输入10个数字: 请输入 个数字 for(b=1;b<=N;b++) scanf("%d",&a[b]); for(b=1;b<=N-1;b++) for(c=1;c<=N-b;c++) if(a[c]>a[c+1]) { temp=a[c]; a[c]=a[c+1]; a[c+1]=temp; } for(b=1;b<=N;b++) printf("%d ",a[b]); putchar('\n9'); }
方法二
第一个数与后面数依次比较: for(i=0;i<n-1;i++) for(j=i+1; j<n; j++) if(b[i]<b[j]) { tmp=b[i]; b[i]=b[j]; b[j]=tmp;}
排序问题
Biblioteka Baidu
冒泡法排序
冒泡法顾名思义就是将一个数从下面浮上来,假设有5个数 个数, 冒泡法顾名思义就是将一个数从下面浮上来,假设有 个数, 21 56 87 6 9, , 将第五个元素的值与第四个元素的值相比, 将第五个元素的值与第四个元素的值相比,如果第五个元素 的值小于第四个元素的值,则交换着两个元素的值。 的值小于第四个元素的值,则交换着两个元素的值。 接下来,将第四个元素的值与第三个元素的值进行比较, 接下来,将第四个元素的值与第三个元素的值进行比较,按 照类似的方式,如果发现下面元素的值小于上面元素的值, 照类似的方式,如果发现下面元素的值小于上面元素的值, 则交换着两个值。 则交换着两个值。 将第三个元素的值与第二个元素的值比较,做同样的工作。 将第三个元素的值与第二个元素的值比较,做同样的工作。 在这一轮比较结束时,最小值将到达最上面, 在这一轮比较结束时,最小值将到达最上面,可以说最小值 已经浮到最上面 第二轮,从最底部的元素开始比较,直到第二个元素, 第二轮,从最底部的元素开始比较,直到第二个元素,因为 第一个已经是最小,不需要再进行比较。 第一个已经是最小,不需要再进行比较。