簡單的排序方法

2021-10-01 11:47:07 字數 3111 閱讀 4259

原理:讓陣列當中相鄰的兩個數進行比較,陣列當中比較小的數值向下沉,數值比較大的向上浮!外層for迴圈控制迴圈次數,內層for迴圈控制相鄰的兩個元素進行比較。

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace 氣泡排序

//宣告乙個int型別的陣列

int list;

private void form1_load(object sender, eventargs e)

}private void button1_click(object sender, eventargs e)}}

//將排序好的陣列寫進listbox2

for (int i = 0; i < list.length; i++)}}

}

原理:第一次從待排序的陣列元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace 氣泡排序

//宣告乙個int型別的陣列

int list;

private void form1_load(object sender, eventargs e)

}private void button1_click(object sender, eventargs e)

}int temp = list[i];

list[i] = list[min];

list[min] = temp;

}//將排序好的陣列寫進listbox2

for (int i = 0; i < list.length; i++)}}

}

原理:每步將乙個待排序的記錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。

插入排序(insertion sort)是一種簡單直觀且穩定的排序演算法。

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace 氣泡排序

private void form2_load(object sender, eventargs e)

//宣告乙個int型別的陣列

int shuzu;

private void button1_click(object sender, eventargs e)

//插入排序

int temp;

for (int i = 1; i < shuzu.length; i++)

shuzu[j + 1] = temp;

}//將排序好的陣列寫進listbox2

for (int i = 0; i < shuzu.length; i++)}}

}

希爾排序(shell's sort)是插入排序的一種又稱「縮小增量排序」(diminishing increment sort),是直接插入排序演算法的一種更高效的改進版本。希爾排序是非穩定排序演算法。該方法因d.l.shell於2023年提出而得名。

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace 氣泡排序

//宣告乙個int型別的陣列

int shuzu;

private void button1_click(object sender, eventargs e)

//希爾排序

int d = shuzu.length / 2;

while (d >= 1)

shuzu[loc] = temp;

}

}

//一次插入排序結束,縮小d的值

d = d / 2;

}//將排序好的陣列寫進listbox2

for (int i = 0; i < shuzu.length; i++)}}

}

簡單的排序方法

實驗8 1 4 使用函式的選擇法排序 25分 本題要求實現乙個用選擇法對整數陣列進行簡單排序的函式。函式介面定義 void sort int a,int n 其中a是待排序的陣列,n是陣列a中元素的個數。該函式用選擇法將陣列a中的元素按公升序排列,結果仍然在陣列a中。裁判測試程式樣例 include...

簡單排序方法

1.冒泡法 void sort int array for int k 0 k 2.選擇法 void sort int array else if j 1 0 for int k 0 k2 有一數列1,1,2,3,5,求第30個數 public class mainclass public stat...

簡單排序方法 氣泡排序

氣泡排序 bubblesort 的基本思想是 將相鄰的記錄的關鍵碼進行比較,若前面記錄的關鍵碼大於後面記錄的關鍵碼,則將它們交換,否則不交換。設待排序的順序表sqlist中有n個記錄,氣泡排序要進行n 1趟,每趟迴圈均是從最後兩個記錄開始。第1趟迴圈到第2個記錄的關鍵碼與第1個記錄的關鍵碼比較後終止...