您的位置:首页 > 其它

简单算法学习笔记二

2016-08-02 18:02 162 查看
(一)冒泡排序(升序)

对n个整数进行排序。

算法思想:

(1)从下标为0的元素开始,对两两相邻的元素进行比较,如果前一个元素大于后一个元素,则交换这两个元素的值,在n-1次比较后,这组整数中最大的元素就被移动到最后(下标为n-1);

(2)对下标为0到下标为n-2的n-1个元素重复(1)中的比较和交换过程,最终第二大的元素被移动到下标为n-2的单元;

(3)对剩下的n-2个数重复上面的比较和交换操作,在n-1轮操作后,n个整数升序排序完成。

示例代码:

#include <stdio.h>
void BubbleSort(int a[],int n);
void main()
{
int x[]={5,7,0,8,1,4,9};
BuubleSort(x,7);
return ;
}

void BubbleSort(int a[],int n)
{
int i,j,k,t;
for(i-0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(k=0;k<n;k++)
printf("%d",a[k]);
printf("\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 冒泡排序