网站栏目功能分析,迅睿cms建站教程,江苏中盛建设集团网站,百姓网推广怎么收费标准从第二个开始#xff0c;从后面往前找#xff0c;如果比其小#xff0c;就交换#xff0c;else 就终止
for i 1 i n i
for j i j 0 (到第二个) j--
if
swap
下面给出源码
//对插入排序来说#xff0c;直接从第二个元素开始templatety…从第二个开始从后面往前找如果比其小就交换else 就终止
for i 1 i n i
for j i j 0 (到第二个) j--
if
swap
下面给出源码
//对插入排序来说直接从第二个元素开始templatetypename T
void InsertSort( T arr[], int n){for(int i 1 ; i n ; i){//寻找【i应该插入的位置】但是注意我们是从后面往前找所以j 要从后往前// for( int j i ; j 0 ; j --)// if(arr[j] arr[j - 1] )// swap(arr[j], arr[j-1]);// else // break;for( int j i ; j 0 arr[j] arr[j - 1]; j --)swap(arr[j], arr[j-1]);}int main()
{int n 100000;int *arr SortTestHelper :: generateRandomArr(n, 0, n) ;int *arr2 SortTestHelper :: copyIntArray(arr, n);// InsertSort(arr2, n);// SortTestHelper :: printarr(arr2, n);// selectionSort( arr, n );// SortTestHelper :: printarr(arr, n);SortTestHelper::test_sort(selection Sort, selectionSort, arr,n);SortTestHelper::test_sort(Insertion Sort, InsertSort, arr2,n);delete[] arr;delete[] arr2;return 0;}
辅助函数 多了一个copy
给出完整代码 int* copyIntArray(int a[], int n){int* arr new int[n];copy(a, a n, arr);return arr;}