原理:讓陣列當中相鄰的兩個數進行比較,陣列當中比較小的數值向下沉,數值比較大的向上浮!外層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個記錄的關鍵碼比較後終止...