Last active
September 24, 2020 08:38
-
-
Save ismdeep/5b38b0310d42e91f75400e6e15662834 to your computer and use it in GitHub Desktop.
一个选择排序的演化过程。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
从最简单的C语言基础开始,一步一步编写一个选择排序(从小到大)的程序。 |
这个排序往后面还有更多的思考以及更多的程序实现可以写。比如:
- 程序输入上面,如何实现输入一行数字然后对这行数字进行排序。(毕竟输入搞成两行并不太友好,我们想更加随意一些,让程序判断我输入的数字有多少个,而不是我们去告诉程序。)
- 如何实现排序函数既可以从小到大也可以从大到小排序,可以通过什么样的方式告诉这个程序该怎么做。
- 如何实现排序函数让程序员在使用这个排序函数进行排序时,可以自定义排序规则,比如:我想利用这个函数对一组数字排序,这组数字排序是按照绝对值从小到大进行排序。但是我调用这个排序函数时却不去改变这个排序函数内部对源代码。该如何实现呢?(这样实现的函数将变得更加灵活,可用性更强。)
- 我看输出函数有些不爽,我想将数组转化成字符串,然后再输出。这样我们如果想将数组保存至文本,保存至数据库,就可以调用将数组转化成字符串的函数,接下来再拿字符串去处理。函数拆分开来好处这里就能体现出来了。
- 这个程序解决的是固定类型数据排序,只能处理
int
类型的数组排序,那如何实现一个函数可以对任意类型元素的数组进行排序呢? - ...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
程序输入:
第一行的数字9表示需要排序的数组一共有多少个数字。
第二行9个数字,一次表示数组中各个元素的值。
程序输出:
两行输出数组对应着两次
print_arr
函数的调用。第一行是原始数组。
第二行是排序后的数组。