黑马程序员技术交流社区

标题: 冒泡排序 [打印本页]

作者: qilu93    时间: 2015-10-20 21:02
标题: 冒泡排序
冒泡排序每一趟排序把最大的放在最右边。
比如:
87 12 56 45 78
87和12交换:12 87 56 45 78
87和56交换:   56 87 45 78
87和45交换:      45 87 78
87和78交换:         78 87
到此第一趟排序结束,接下来的每一趟排序都是这样。
比如:
  #include<stdio.h>
void Print(int *num, int n)
{
    int i;
    for(i = 0; i < n; i++)
        printf("%d ", num[i]);
    puts("\n");
    return;
}
void Bubble_Sort(int *num, int n)
{
    int i, j;
    for(i = 0; i < n; i++)
    {
        for(j = 0; i + j < n - 1; j++)
        {
            if(num[j] > num[j + 1])
            {
                int temp = num[j];
                num[j] = num[j + 1];
                num[j + 1] = temp;
            }
            Print(num, n);
        }
    }
    return;
}
int main()
{
    int num[8] = {87, 12, 56, 45, 78};
    Bubble_Sort(num, 5);
    return 0;
}  



作者: 安徒生童话13    时间: 2015-10-21 22:54
重新看看
作者: 眼瞳╄渲染繁华    时间: 2015-10-22 16:48
看看  学习学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2