摘要:
归并排序基本原理:对于给定的一组元素,首先将每两个相邻的长度为1的子序进行归并,得到(n/2)个长度为2或1的有序子序列,再将其两两归并,反复执行其过程,直到得到一个有序序列为止。 值得注意的是:在处理合并两个[]的时候,需要创建一个临时数组aux来保存A。还有边界条件的问题:第一个[]中的元素都处 阅读全文
摘要:
插入排序基本原理:对于给定的一组元素,初始时假设第一元素自成一个有序序列,其余的元素为无序序列,其余的元素为无序序列; 接着从第二个元素开始,按照记录的大小依次将当前处理的元素插入到其之前的有序序列中,直到最后一个元素插入到有序序列中为止。 数组{38,65,97,76,13,27,49} 第一趟排 阅读全文
摘要:
选择排序的基本思想:对于给定的一组元素,经过第一轮比较后得到最小的元素,然后将该元素与第一个元素的位置进行交换,接着对不包括第一个元素以外的其他记录进行第二轮比较,得到最小的元素并与第二个位置交换,重复该过程,直到进行比较的元素只有一个为止。 数组{38,65,97,76,13,27,49} 第一趟 阅读全文
摘要:
冒泡排序的基本思想就是对于给定的n个元素,从第一个元素开始,依次对相邻的两个元素进行比较,当前面的元素大于后面的元素时,交换其位置,进行一轮比较和换位后,n个元素中最大的数将位于第n位,然后对前(n-1)个元素进行第二轮比较,重复该过程,直到进行比较的元素只剩下一个。 数组{36,25,48,12, 阅读全文
摘要:
这部分实现的排序方法是冒泡排序和快速排序。 冒泡排序的基本思想就是对于给定的n个元素,从第一个元素开始,依次对相邻的两个元素进行比较,当前面的元素大于后面的元素时,交换其位置,进行一轮比较和换位后,n个元素中最大的数将位于第n位,然后对前(n-1)个元素进行第二轮比较,重复该过程,直到进行比较的元素 阅读全文
摘要:
#include #include #include "string.h" #include "stdio.h" #include #include #include using namespace std; struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), n... 阅读全文