insertsort.h

来自「有各种排序算法」· C头文件 代码 · 共 18 行

H
18
字号
#include"DataList.h"
template <class T>
void InsertSort (dataList<T>& L, int left, int right) {
	//依次将元素L.Vector[i]按其排序码插入到有序表
	//L.Vector[left],…,L.Vector[i-1]中,使得
	//L.Vector[left]到L.Vector[i]有序。
	Element<T> temp;  int i, j;
	for (i = left+1; i <= right; i++)
		if (L[i] < L[i-1]) {   //i-1之前的部分已经有序
			temp = L[i];  j = i-1;	
			do {                                      // 此处优于for语句
				L[j+1] = L[j];  j--;
			} while (j >= left && temp < L[j]);  //停定位条件
			L[j+1] = temp;  
		}    //注意与前面图示的差别
};	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?