c语言3个数排序源码,排序(3)---------冒泡排序(C语言实现)(示例代码)

说到冒泡排序,大一的时候第一次学习这个排序算法,可能大家不知道,“冒泡”在我说的方言里面是吹牛逼的意思。

所以就认为这个排序算法特吹牛逼有木有。

相信大家对全部的排序算法,这个想必是最熟悉的。

大学老师多次强调,去培训。讲师也会提到。这个在面试常常被问到,所以我建议大家最好把这个算法背下来,做到心中有冒泡,手上写出来 哈哈。

好了,言归正传。

什么是冒泡排序,所谓冒泡。比方有一天你神经病发作突然跑到河边,扔了一块石头进去。如果这里河底产生了一个气泡,它会一直往上窜啊窜,知道露出水面。见天日。没错。这就是冒泡排序的核心步骤。

冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它反复地走訪过要排序的数列,一次比較两个元素,假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换。也就是说该数列已经排序完毕。这个算法的名字由来是由于越小的元素会经由交换慢慢“浮”到数列的顶端。

源码:

#include "stdafx.h"

#include

void Bubble_Sort()

{

int arr[10];

for ( int i=0; i<10; i++) //初始化数据

{

arr[i] = rand()%520; //随机生成数据

}

printf("Before sort:\n"); //打印排序前的数据

for (int i = 0; i < 10; i++)

{

printf("%d ",arr[i]);

}

//開始排序

for (int i = 0; i < 10-1; i++) //仅仅须要比較length-1次,比方3个数相比 仅仅须要比較2次

//网上非常多代码都是i

{

for (int j = 0; j < 10-i-1; j++) //每次都能找到最小的数,因此能够将其排除,条件即变为:j

{

if (arr[j] > arr[j+1]) //交换

{

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

printf("\nAfter sort:\n"); //打印排序后的数据

for (int i = 0; i < 10; i++)

{

printf("%d ",arr[i]);

}

}

int _tmain(int argc, _TCHAR* argv[])

{

Bubble_Sort();

printf("\n");

system("pause");

return 0;

}

执行结果:

Before sort:

41 267 94 500 449 124 38 238 442 24

After sort:

24 38 41 94 124 238 267 442 449 500

请按随意键继续. . .

如有错误,望不吝指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值