(二)排序 折半插入,希爾,與氣泡排序

2021-09-27 03:05:18 字數 828 閱讀 7125

折半插入:

#include#includeint a[16]=;

/*輸出已排序陣列*/

void print()

printf("\n");}

/*折半插入排序公升序排列*/

void binaryinsertsortup()

else

}/*確定好位置後,將位置之後的資料後移,插入待排序資料*/

for (j = i-1;j > high; j--)

a[j+1] = x; }

} int main()

希爾:

#include using namespace std;

//希爾排序

void shellsort(int iarr,int length)

,i =0 ,j,k,temp;

for(j = 0; j < 3; ++j)//三次,分別以增量5,3,1來排序

iarr[k + dt[j]] = temp;}}

}int main()

; shellsort(a,25);

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

cout << a[i] << " ";

return 0;

}

冒泡:

#includeint a[15]=;

void bubblesort()

}if(flag==0)

return ;

}}int main()

}

插入排序 折半插入排序 希爾排序

1 排序演算法的穩定性 穩定的 關鍵字相同的元素在排序後相對位置不變 不穩定的 關鍵字相同的元素在排序後相對位置改變 2 排序演算法分類 內部排序,外部排序。1 演算法思想 每次將乙個待排序的記錄按其關鍵字大小插入到前面已排好序的子串行中,直到全部記錄插入完成。2 直接插入排序 帶哨兵的直接插入排序...

資料結構二 排序(插入排序和希爾排序)

插入排序在哪些情況下效率高?1.插入的序列基本有序 2.序列較小的情況下 include include include include define max 10 獲取時間,毫秒 long gettime 列印 void printarr int arr,int len 插入排序 void ins...

排序演算法 冒泡 選擇 插入與希爾排序

思路分析 依次比較相鄰的兩個數 將比較小的數放在前面,比較大的數放在後面 第一趟比較完後,最小的數放在第一位 那麼在第二趟的時候不需要再對第一位數進行比較 依次類推,每一趟比較次數依次減小 c 實現 include using namespace std void show int arr,int ...