插入排序 使用模板對不用型別的陣列進行排序

2021-09-02 01:35:56 字數 588 閱讀 7170

//插入排序

//演算法:新加入元素與已經有的資料進行比較,需要移動原有資料的位置

#include using namespace std;

template void insert(const t& e, t *a, int i);

//使用模版

template void insertionsort(t *a, int n)

// a[j+1] = temp; //最後記錄j+1就是記錄i的正確位置,回填

}}template void insert(const t& e, t *a, int i)

a[i+1] = e;

}int main(); //當陣列是float型別呢?重新寫函式嗎?此時可以用函式模板

double y = ;

insertionsort(x,4);

cout << "x陣列排序後:";

for(int i=0;i<4;i++)

cout << x[i]<<" ";

cout 《輸出:

x陣列排序後:10 43 12 10 

y陣列排序後:5.7 6.8 5.7 

對插入排序的理解

public class insertsort array j temp 一直移動到比temp值小為止,資料插入 1 for 迴圈控制的是假定的插入值 因此根據演算法思路,i 的初始值為1。把下標為i 的資料存入臨時變數temp中,遍歷陣列內除第乙個資料外的全部資料。2 while迴圈用來判斷比較 ...

js演算法 對 插入排序 的理解

1,演算法簡介 插入排序的工作原理就是將未排序資料,對已排序資料序列從後向前掃瞄,找到對應的位置並插入。插入排序通常採用佔位的形式,空間複雜度為o 1 因此,在從後向前掃瞄的過程中,需要反覆的把已排序的元素逐步向後挪位,為新插入元素提供插入的位置。2,演算法描述 1 從第乙個元素開始,該元素可以被認...

產生N個隨機數,使用插入排序,對隨機數進行排序

include include include define n 100 資料個數 define u 1000 資料範圍 int data n 存放資料的陣列 int comp count 0 資料比較次數 int swap count 0 資料交換次數 新增隨機數到陣列 void add data...