C语言排序方法——冒泡排序详解!你学会了吗?

yumo6663周前 (06-30)技术文章11

冒泡排序法的基本思路为:每次将相邻的两个数比较,将小的调在前面。举个例子,如果有6个数:9,8,5,4,2,0。第一次先将最前面的两个数9和8对调。第二次将第2个数和第3个数对调(9和5)······如此共进行5次得到8,5,4,2,0,9的顺序,可以看到:最大的数9已经沉到了最底下成为了最下面的一个数,而小的数“上升”。

然后进行第二轮比较,对余下的5个数进行冒泡排序,然后这五个数中最大的数8沉到了最底下。如此6个数进行5趟排序,才能使6个数按大小顺序排列。第一趟中要进行两个数之间的比较共5次,第二趟中要比较4次······第五趟中比较一次。即如果有n个数,则要进行n-1趟比较,第一次比较中需要进行n-1次两两比较,第二趟需要进行n-2次,第j次需要进行n-j次两两比较。

N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数.

Tip:

经实测输入 #define _CRT_SECURE_NO_WARNINGS 1 后scanf不用再改为scanf_s

#define _CRT_SECURE_NO_WARNINGS 1 // 预编时处理一下,加个宏而已,让其忽略安全检测

int temp, i, j; // i是数组下标,j是比较次数

运算结果如下:

最后再送上一张冒泡排序的动态示意图吧!

另外,对现在我们的大多数朋友来说还是学编程技术最重要!栽一棵树最好的时间是十年前,其次是现在。对于准备学习编程的小伙伴,如果你想更好地提升你的编程核心能力(内功)不妨从现在开始!

编程学习书籍分享:

编程学习视频分享:

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

想学习C/C++编程,或者对编程感兴趣的话可以【私信】笔者粉丝群和大家一起交流~

相关文章

单片机c语言基础知识,c语言必背100代码有哪些?

我记得刚开始接触编程的时候,觉得太难了。也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧?他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。一个程序几...

C语言项目实战:《飞翔的小鸟》零基础项目!190行源代码示例

这篇文章主要为大家详细介绍了C语言实现——《飞翔的小鸟项目》文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下!游戏介绍:《Flappy Bird》其实是曾经流行的一款手机游...

C语言实现见缝插圆游戏!零基础代码思路+源码分享

《见缝插圆》顾名思义,就是在我们绘制的C语言窗口里面画随机圆,圆与圆之间不能相交或相切,那就要自己找“缝隙”咯!今天用C语言制一些漂亮的随机图案,如图所示,随机生成的圆互不相交且尽量填满画布,按空格键...

这两个简单的C语言宏定义,能够在程序运行前,找到错误代码

今天翻看 Linux 内核源代码时,发现两行非常有意思的C语言代码,如下:#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) #...

最难的 5 种编程语言!C/C++竟不在其列,它们到底是谁?

我们平时都在谈论 c、c ++、Java、Python 等编程语言,其实还有些语言不仅对于大多数软件开发人员来说都很难,而且几乎是不可理解的。这些语言被称为深奥难懂的编程语言(或晦涩语言)。晦涩语言并...

《C 语言修仙》:代码敲出的修仙传奇,你敢来挑战吗?

在这个代码与灵力交织的奇妙世界,一场超乎想象的冒险正悄然拉开帷幕。当熬夜敲代码的程序员林浔,在身体里发现一个神秘的程序输入窗口,谁能料到,他的人生将从此彻底改写,开启一段令人拍案叫绝的修仙之旅!今天,...