括入排序的基本思想 每一步将一个待排序元素按其关键字值的大小插入到已排 序序列的适当位置上,直到待排序元素插入完为止 初始状态: [5]41020123 插入操作:1[4][45]1020123 [10][4510]20123 3[20][451020]123 4[12][4 10 220 5[3][3 510k1220 休息
前一页 休息 6 插入排序的基本思想 ⚫ 每一步将一个待排序元素按其关键字值的大小插入到已排 序序列的适当位置上,直到待排序元素插入完为止。 初始状态: [5] 4 10 20 12 3 插入操作: 1 [4] [4 5] 10 20 12 3 2 [10] [4 5 10] 20 12 3 3 [20] [4 5 10 20] 12 3 4 [12] [4 5 10 12 20] 3 5 [3] [3 4 5 10 12 20]
直接插入排序 在插入排序过程中,由于寻找插入位置的 方法不同又可以分为不同的插入排序法, 这里我们只介绍最简单的直接插入排序法。 例10.1直接插入排序函数模板(10-1h) 休息
前一页 休息 7 直接插入排序 ⚫ 在插入排序过程中,由于寻找插入位置的 方法不同又可以分为不同的插入排序法, 这里我们只介绍最简单的直接插入排序法。 ⚫ 例10.1 直接插入排序函数模板(10-1.h)
template <class T> void Insertion Sort(T Al, int n) i int i, j; T temp for(=1;i<n;i++) temp=A0 while〔>0&&temp≤A[-1]) A=A[-1 A的]=temp;
template <class T> void InsertionSort(T A[], int n) { int i, j; T temp; for (i = 1; i < n; i++) { j = i; temp = A[i]; while (j > 0 && temp < A[j-1]) { A[j] = A[j-1]; j--; } A[j] = temp; } }
选择排序的基本思翘 每次从待排序序列中选择一个关键字最小的元素, 当需要按关键字升序排列时),顺序排在已排序序列的 最后,直至全部排完 初始状态: 4 020123] [41020125] 333 4[1020125] 5[201210] 第ⅰ次选择后,将选出的那个记录与第i个记录做交换。 体息
前一页 休息 9 选择排序的基本思想 每次从待排序序列中选择一个关键字最小的元素, (当需要按关键字升序排列时),顺序排在已排序序列的 最后,直至全部排完。 初始状态: [5 4 10 20 12 3] 3 [4 10 20 12 5] 3 4 [10 20 12 5] 第 i 次选择后,将选出的那个记录与第 i 个记录做交换。 3 4 5 [20 12 10] ...