C语言排序原理分析

作者: acd8eef1b5d7 | 来源:发表于2017-09-02 14:59 被阅读100次

C语言排序原理分析,源于先找最大值和最小值。

1:找最大值原理:

假定第1个为最大的;然后往后面看,如果后面的元素更大,就把后面那个更大的给假定的这个地方,这样始终保证这个地方总是最大的值;这样,一次循环完了,就得到了整个数组中最大的数了。

(找最小值的方式和找最大值类似)

源代码如下:

效果如下:

可以这样的思考:一次循环可以找到最大值,那么如果我把这个最大值的元素和第1个元素交换,那么第1个元素就是整个数组的最大值了,而第1个元素以前的那个值就到后面去了。那么我只要从第2个元素开始,继续用找最大值的方式就可以找到数组余下元素中的最大值,也就是整个数组中的第2大值。

以此类推,只要循环足够,就可以让数组最后从大到小的排序了。

自然源代码如下:

那么,测试一下是不是:

效果,果然如此:

这就是排序,看似很神奇的功能来的就是这么的顺其自然。其实计算机领域、智能领域、编程领域都是源自实际生活的,只要找到它们的生活道理,就变得很简单、很顺其自然了。

这里不仅仅是要学具体的知识,更要学的是一种学习方法,探索编程世界的方法,让自己学的轻松的方法,让一切都来的顺其自然的方法。否则只能在未来10年后转型。有了学习力,你就可以成为常胜将军,不需要转型。做到:心中有真意,稳坐钓鱼台。

更多顺其自然的编程探索,参看《C语言,好爽》第7版(2017年)宁采臣录制的。

关于数组的查找,请关注下一篇!

相关文章

  • C语言排序原理分析

    C语言排序原理分析,源于先找最大值和最小值。 1:找最大值原理: 假定第1个为最大的;然后往后面看,如果后面的元素...

  • C语言编程学习:排序原理分析

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程...

  • 冒泡排序

    原理分析 排序结果: 代码

  • C语言中的指针与数组

    C语言中的指针与数组 @(C语言)[排序算法, 快速排序, C实现] 引言 相信指针与数组是不少同学在初学C语言时...

  • Java 实现冒泡排序

    本文介绍冒泡排序原理及 Java 语言实现。 目录 冒泡排序原理 代码实现 冒泡排序原理 比较相邻的元素,升序时如...

  • c语言排序算法

    c语言排序算法

  • 有关iOS基础知识总结

    1.C语言 排序算法)(数组的大小排序,字母的先后排序,单词的计数) 2.面向过程和面向对象 面向过程:分析出解决...

  • 可信自测大纲

    需求分析与软件设计 需求分析可信设计 编码实现(C语言) 编程语言能力通用编码规范安全编码规范调试和定位编译原理编...

  • 小朋友学数据结构(12):冒泡排序

    咱们在学C语言的时候,学过冒泡排序,请参考《小朋友学C语言(26):冒泡排序》:https://www.jians...

  • C语言数组冒泡排序

    C语言实现冒泡排序

网友评论

    本文标题:C语言排序原理分析

    本文链接:https://www.haomeiwen.com/subject/dthrjxtx.html