电子信息开设的数据结构开始学习,看的自己一头雾水不觉明历。没办法只能咬牙慢慢的看下去,谁让自己学习编程。
好吧,小编不多说其他的内容下面使用 C++
来实现数据结构中经常见到的基础算法:冒泡、插入和选择排序相关实现原理。
冒泡排序(Bubble Sort)
(1)冒泡排序实现
下面先写出其实现代码:
1 | //交换两个数字 |
上面实现排序方式过程,但是这样的话每一次都要进行 N * (N-1)次比较来实现排序完成的结果。
(2)冒泡排序优化
对上面的排序方式可以机型相关优化。当在第一次循环中已经完成相关排序,下次就无需进行相关的交换可以直接结束。所以可以设置相关判断,具体代码如下:
1 | void bubbleSort (int *p, int length) { |
插入排序(Insert Sort)
插入排序的实现通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
(1)插入排序实现代码
1 | void insertSort (int *p, int length) { |
选择排序(Select Sort)
选择排序(Select Sort) : 从未排好的部分的第一个作为最小(最大)的,然后依次和剩余的比较,如果有更小(更大)的,记下下标,以此作为新的最小(最大)值,继续比较,一趟结束后,然后和第一个进行交换。
(1)选择排序代码实现
1 | void selectSort (int *p, int length) { |