插入排序:
#include#includeusing
namespace
std;
void output(int a, int
n) cout
<}int
main()
for(int i = 0; i < n; i++)
a[j+1] =temp;
output(a, n); }
return0;
}
插入排序,幻想成是你在抓撲克牌的時候。以i為分割線,i之前的撲克牌都是已經拍好順序的了。
所以你需要在i進行插入的時候,和它前面的乙個個比較,若前面的要大於它,就覆蓋,直到找到乙個小於它的數j,就放在這個數的後面。
插入排序可以高速整理順序很整齊的資料。
氣泡排序
#include#includeusing
namespace
std;
void output(int a, int
n) cout
<}int
main()
for(int i = 0; i < n; i++)
} }output(a, n);
cout
}
從高處開始,往底層兩個兩個的判斷。就好像泡泡一樣把小的往前面送了。一趟完成後,之前未排序部分的第乙個肯定是剩下數里最小的。
選擇排序
#include#includeusing
namespace
std;
void output(int a, int
n) cout
<}int
main()
for(int i = 0; i < n; i++)
} if(index !=i)
} output(a, n);
cout
}
就是一趟趟地走,每次選擇那個最小/大的。
選擇排序不一定是一種穩定的演算法。如果最小的那個數字和重複大數字交換排序後,就會出現位置變換了。
希爾排序
#include#include#include
using
namespace
std;
void output(int a, intn)}
void insertion(int a, int n, int g, int ×)
a[j+g] =temp; }}
intmain()
vector
gs;for(int h=1
;;)
for(int i = gs.size()-1; i >= 0; i--)
cout
for(int i = gs.size()-1; i >= 0; i--)
cout
output(a, n);
return0;
}
希爾排序是加工過後的插入排序。
是按間隔來分別進行插入排序。這個間隔的演算法是按照那個複雜度來的吧,這個題的要求是o(n1.25),所以題目用了gn+1=3gn+1;
個人的MATLAB練習
編寫m函式str2cod.m用來實現字串的編碼過程 採用ascii碼的方式將字元變成二進位製碼,其中乙個位元組 8位元 代表乙個字元。將自己的姓名的拼音字母轉換成二進位製碼流。繪出二進位製碼流的圖形,並在圖形上標出二進位製碼。xm input 請輸入 s switch isempty xm case...
html個人簡單練習
這段時間學習了html基礎教程,與書籍相結合,但是實踐的較少。試著用之前學的做乙個簡單的網頁。今天主要完成了首頁頁面製作 涉及到導航 鏈結 對映 塊級操作 布局 應用音訊 表單 大約效果就是這樣 剛開始不會調整尺寸,導致會有左右方向的滾動條。網上搜了蒐用可以使頁面居中。就對導航和標題欄進行了居中處理...
氣泡排序練習
using system using system.collections.generic using system.linq using system.text return list class program double s sort p new sort s p.paixu a for i...