博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序(3)---------冒泡排序(C语言实现)
阅读量:7009 次
发布时间:2019-06-28

本文共 1189 字,大约阅读时间需要 3 分钟。

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

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

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

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

好了,言归正传。

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

冒泡排序(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
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 24After sort:24 38 41 94 124 238 267 442 449 500请按随意键继续. . .

如有错误,望不吝指出。

转载地址:http://npjtl.baihongyu.com/

你可能感兴趣的文章