【資料結構】直接插入排序_哨兵位
標頭檔案:
#include <iostream>
using namespace std;
#define MAX 10
typedef struct
{
int r[MAX+1];
}Sqlist;
// 比較大小並插入
void InsertSort(Sqlist &sl, int n)
{
int j;
for (int i = 2; i < 7; ++i)
{
if (sl.r[i] < sl.r[i - 1])
{
sl.r[0] = sl.r[i];
for (j = i; sl.r[0] < sl.r[j-1]; --j)
{
sl.r[j] = sl.r[j - 1];
}
sl.r[j] = sl.r[0];
}
}
}
主函式:
#include "InsertSort_0.h"
int main()
{
// 0為哨兵位,起到兩個作用:1、臨時空間 2、保證不越界
Sqlist sq = { 0, 21, 25, 49, 25, 16, 8 };
InsertSort(sq, 7);
for (int i = 1; i < 7; ++i)
{
cout << sq.r[i] << " ";
}
cout << endl;
return 0;
}
相關文章
- 【資料結構】直接插入排序資料結構排序
- 04資料結構排序演算法之直接插入排序資料結構排序演算法
- 複習資料結構:排序(一)——插入排序資料結構排序
- 資料結構&演算法實踐—插入排序資料結構演算法排序
- 資料結構--排序--插入排序--python語言描述資料結構排序Python
- python演算法與資料結構-插入排序(34)Python演算法資料結構排序
- 資料結構學習(C++)續——排序【2】插入排序 (轉)資料結構C++排序
- 直接插入排序排序
- 資料結構–進位制(任意)轉換資料結構
- 直接插入排序法排序
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 演算法與資料結構系列 ( 四 ) - 插入排序法- Insert Sort演算法資料結構排序
- 【資料結構與演算法】位運算資料結構演算法
- 【筆記】直接插入排序筆記排序
- 直接插入排序java描述排序Java
- 結構化資料、半結構化資料和非結構化資料
- 【資料結構篇】認識資料結構資料結構
- 演算法與資料結構系列 ( 五 ) - 插入排序法改進- Insert Sort演算法資料結構排序
- 資料結構與演算法——插入排序以及C++函式模板實現資料結構演算法排序C++函式
- 直接插入排序演算法排序演算法
- 資料結構小白系列之資料結構概述資料結構
- Linux 核心裡的資料結構——位陣列位陣列宣告體系結構特定的位操作通Linux資料結構陣列
- 『Note』基於斜二進位制的資料結構資料結構
- 資料結構?資料結構
- 資料結構資料結構
- 排序演算法__直接插入排序排序演算法
- 排序演算法:直接插入排序排序演算法
- 排序演算法——直接插入排序排序演算法
- 排序演算法-直接插入排序排序演算法
- 資料結構與演算法-資料結構(棧)資料結構演算法
- 重學資料結構和演算法(四)之氣泡排序、插入排序、選擇排序資料結構演算法排序
- 【PHP資料結構】PHP資料結構及演算法總結PHP資料結構演算法
- 資料結構-棧資料結構
- 資料結構-堆資料結構
- 資料結構-集合資料結構
- 資料結構 - 字串資料結構字串
- 資料結構——列表資料結構
- Redis 資料結構Redis資料結構