Skip to content

Instantly share code, notes, and snippets.

@ismdeep
Last active September 24, 2020 08:38
Show Gist options
  • Save ismdeep/5b38b0310d42e91f75400e6e15662834 to your computer and use it in GitHub Desktop.
Save ismdeep/5b38b0310d42e91f75400e6e15662834 to your computer and use it in GitHub Desktop.
一个选择排序的演化过程。
从最简单的C语言基础开始,一步一步编写一个选择排序(从小到大)的程序。
@ismdeep
Copy link
Author

ismdeep commented Sep 24, 2020

这个排序往后面还有更多的思考以及更多的程序实现可以写。比如:

  • 程序输入上面,如何实现输入一行数字然后对这行数字进行排序。(毕竟输入搞成两行并不太友好,我们想更加随意一些,让程序判断我输入的数字有多少个,而不是我们去告诉程序。)
  • 如何实现排序函数既可以从小到大也可以从大到小排序,可以通过什么样的方式告诉这个程序该怎么做。
  • 如何实现排序函数让程序员在使用这个排序函数进行排序时,可以自定义排序规则,比如:我想利用这个函数对一组数字排序,这组数字排序是按照绝对值从小到大进行排序。但是我调用这个排序函数时却不去改变这个排序函数内部对源代码。该如何实现呢?(这样实现的函数将变得更加灵活,可用性更强。)
  • 我看输出函数有些不爽,我想将数组转化成字符串,然后再输出。这样我们如果想将数组保存至文本,保存至数据库,就可以调用将数组转化成字符串的函数,接下来再拿字符串去处理。函数拆分开来好处这里就能体现出来了。
  • 这个程序解决的是固定类型数据排序,只能处理 int 类型的数组排序,那如何实现一个函数可以对任意类型元素的数组进行排序呢?
  • ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment