您好,登錄后才能下訂單哦!
/***********插入算法實現******************/ #include <stdio.h> void println(int array[], int len) //定義一個輸出數組元素的函數 { int i = 0; for(i=0; i<len; i++) { printf("%d ", array[i]); } printf("\n"); } void swap(int array[], int i, int j) //用于交換兩個元素變量 { int temp = array[i]; array[i] = array[j]; array[j] = temp; } void InertionSort(int array[], int len) // 具體插入算法實現 { int i = 0; int j = 0; int k = -1; int temp = -1; for(i=1; i<len; i++) { k = i; temp = array[k]; //把第二個元素單個拿出來,并把第一個與第二個元素比較如果大于他,就交換位置把小的插入前一個位置 for(j=i-1; (j>=0) && (array[j]>temp); j--) { array[j+1] = array[j]; // k = j; } array[k] = temp; //這一步就是把拿出來的數進行插入恰當的位置 } } int main() { int array[] = {21, 25, 49, 25, 16, 8}; int len = sizeof(array) / sizeof(*array); println(array, len); InertionSort(array, len); println(array, len); return 0; } ·
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。