[重点]C语言冒泡排序法的简单程序
C语言冒泡排序法的简单程序
本文由沉墨之城贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
求一个 C 语言冒泡排序法的简单程序 悬赏分:50 - 解决时间:2007-9-4 11:16 我不明白怎么写 随便给我个就行 谢谢了 提问者: redangel0002 - 助理 二级
最佳
答案
八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案
main() { int i,j,temp; int a[10]; for(i=0;i<10;i++) scanf
("%d,",&a[i]); for(j=0;j<=9;j++) { for (i=0;i<10-j;i++) if
(a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} }
for(i=1;i<11;i++) printf("%5d,",a[i] ); printf("\n"); }
冒泡算法 冒泡排序的算法
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
与改进 交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没 有反序的记录为止。 应用交换排序基本思想的主要排序
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
有:冒泡排序和快速排序。 冒泡排序
1、排序方法 将被排序的记录数组 R[1..n]垂直排列,每个记录 R 看作是重量为 R.key 的气泡。根据轻气泡不能在重气泡 之下的原则,从下往上扫描数组 R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行, 直到最后任何两个气泡都是轻者在上,重者在下为止。 (1)初始 R[1..n]为无序区。 (2)第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即 依次比较(R[n], R[n-1]), (R[n-1], R[n-2]), (R[2], „, R[1]); 对于每对气泡(R[j+1], R[j]), R[j+1].key
=i;j--) //对当前无序区 R[i..n]自下向上扫描 if(R[j+1].key
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
】。 (2) 改变扫描方向的冒泡排序 ?冒泡排序的不对称性 能一趟扫描完成排序的情况: 只有最轻的气泡位于 R[n]的位置,其余的气泡均已排好序,那么也只需一趟扫描就可以完成排序。 【例】对初始关键字序列 12,18,42,44,45,67,94,10 就仅需一趟扫描。 需要 n-1 趟扫描完成排序情况: 当只有最重的气泡位于 R[1]的位置,其余的气泡均已排好序时,则仍需做 n-1 趟扫描才能完成排序。 【例】对初始关键字序列:94,10,12,18,42,44,45,67 就需七趟扫描。 ?造成不对称性的原因 每趟扫描仅能使最重气泡"下沉"一个位置,因此使位于顶端的最重气泡下沉到底部时,需做 n-1 趟扫描。 ?改进不对称性的方法 在排序过程中交替改变扫描方向,可改进不对称性。 回答者:cicihsk - 助理 二级 9-4 11:08
评价已经被关闭 好 75% (3)
目前有 4 个人评价 不好 25% (1)
其他回答
main()
共 3 条
{int i,j,n,a[10]; printf("输入 10 个数:"); for(i=0;i<10;i++) scanf("%d,",&a[i]);//记得输入的时候后面加“,” for(i=0;ia[j]) //
改成(a[i] Array[j + 1] )
{
temp = Array[j];
Array[j] = Array[j + 1];
Array[j + 1] = temp;
}
}
/* Prints an integer Array line by line */
void PrintArray( int Array[], const int Size )
{
int i;
for( i = 0; i < Size; i++ )
printf("Array[%i] = %i\n", i, Array[i] );
1