C语言之通过冒泡排序浅谈编程思想
2023-09-14 08:57:28 时间
写这篇博文的目的是想起到抛砖引玉的作用,还请大牛们留下一些先进的思想,让小菜学习一下。下面入正题。
复习C语言怎么能少的了冒泡呢,记得刚学C语言那会,感觉冒泡排序真的太复杂了,理解不大了,嗯!还是当时的功底不够啊。当时一些冒泡都头疼,感觉这么多的循环(哈哈!!其实也就俩,当时就是感觉太复杂)。现在再写冒泡排序,感觉自己当时学C语言的时候是不是太笨了呢。
仔细想想,之前写冒泡之所以感觉到难是没有真正的理解冒泡的思想,就硬着头皮写,结果可以想象,是以失败而告终的。现在写代码也有一段时间了,学的编程语言也有几门了,现在想想编程更多的是一种思想。而编程语言就是一种工具,如果你有思想了,用什么语言去解决问题都是可以的。编程思想大概就是大家所谓的编程算法吧。在编写东西之前,如果你的思路清晰,目标明确,那么你在写程序的时候也会行云如流水,Bug的数量也会骤减。相反,如果你在编写程序之前,思维混沌,思路模糊,在编写程序的时候会感觉到非常的吃力,Bug自然而然的就回增多的。
在编程之前要明白一个道理,是计算机是非常傻的,但计算机不笨。计算机之所以傻,就是你让他干嘛他干嘛。从而想一下,如果你本身的思路就不明确,不清晰,那么有如何去给计算机下指令呢?
下面就以冒泡排序为例,同时复习一下简单的冒泡排序。
写冒泡排序我本人喜欢从后往前把小的冒出来,当然了也可以把大的从前往后冒,当然了这两种方法都ok了。其实冒泡排序这个名字起的时非常的形象生动的。排序的过程就像是一个个水泡从水底往上冒。每排一次序就有一个较小的数冒出来。
代码如下:
//冒泡排序 void sort(int array[], int length) //交换时使用的临时变量 int temp = 0; //循环数据 for (int i = 0; i length; i++) //从后往前冒 for (int j = length - 1; j j--) //符合条件的交换 if (array[j] array[j-1]) temp = array[j]; array[j] = array[j-1]; array[j-1] = temp; //调用封装好的数组输出函数 print_array(array, length); }
小菜ps:知识是用来分享的嘛,大牛们不要吝啬哦!
C语言——冒泡排序 冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。
相关文章
- C语言图形编程
- C语言图形函数编程
- C语言编程优化运行速度
- 【C/C++学院】(23)Mysql数据库编程--C语言编程实现mysql客户端
- 设计模式的C语言应用-观察者模式-第四章
- C语言控制结构
- C语言编程的环境以及架构
- C语言/C++基础之实现绕线画程序(附源码)
- C语言/C++常见习题问答集锦(七十一) 之创建链表与洗牌发牌
- ZZNUOJ_C语言1009:求平均分(完整代码)
- 【C语言项目设计】学生成绩管理系统设计
- 设计模式的C语言应用-适配及系列模式-第六章
- [手游项目2]-14-linux下如何用C语言编程判断某端口是否被占用
- 判断某一年是否是闰年 【C语言】
- C语言字符串逆排序
- C语言 第三章 基础编程测试与练习
- 从C,C++,JAVA和C#看String库的发展(一)----C语言和C++篇
- C语言之共享内存mmap映射文件内容(二十四)
- 深入理解C语言中的指针与数组之指针篇(转载)
- C语言中递归常见错误解析(1)
- C语言的字符串的联接
- C语言中字符串结束符'0'
- C语言期末试题(附答案)选择题+编程题
- C语言入门之hello world之旅