本來自己的資料結構基礎掌握不錯,但由於長期沒有利用,今天c#筆試做一道快速排序演算法,把它寫得冒泡不像冒泡、選擇不像選擇,
其實快速比這兩個有點複雜。
主要平時看到的排序筆試都是冒泡,所以就沒太在意其他的。
回來上網一搜,發現許多高手也將冒泡跟選擇弄混了。
現在把這三個排序先記下。
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ******
;quicksort(data, 0, data.length - 1);
for (int i = 0; i < data.length; i++)
console.writeline();
bubblesort(data);
for (int i = 0; i < data.length; i++)
console.writeline();
selectsort(data);
for (int i = 0; i < data.length; i++)
console.writeline();
///
/// 氣泡排序
///
///
static void bubblesort(int data)}}
}///
/// 選擇排序
///
///
static void selectsort(int data )}}
///
/// 快速排序函式
///
///
///
///
static void quicksort(int data, int low, int high)
} while (i <= j);
//遞迴呼叫
if(j>low)
if(i}
}
排序演算法 氣泡排序 選擇排序
1 氣泡排序 這個氣泡排序的原理就像水裡的魚吐泡泡一樣,起初是小一點的泡泡,然後越來越大,最後的最大。演算法描述 1 設待排序序列中的記錄的數為n 2 一般的,第i趟起泡排序從1到n i 1 3 依次比較相鄰兩個記錄的數字,如果發生逆序,則交換 4 其結果是這n i 1個記錄中,關鍵字最大的記錄被交...
排序演算法 冒泡 選擇排序
思路 1.從頭開始比較每一對相臨的元素,其後者比前者大則交換,直到一輪比較結束 2.排除1中找到最大的元素,重複1的步驟 class bubblesort 如果在某一趟比較後,序列就變得完全有序,此時就沒有必要再繼續比較下去 func sort2 if sorted 如果數列在尾部已經有序 部分有序...
排序演算法之氣泡排序 選擇排序
排序演算法有很多,包括插入排序,氣泡排序,堆排序,歸併排序,選擇排序,計數排序,基數排序,桶排序,快速排序等。插入排序,堆排序,選擇排序,歸併排序和快速排序,氣泡排序都是比較排序,它們通過對陣列中的元素進行比較來實現排序 其他排序演算法則是利用非比較的其他方法來獲得有關輸入陣列的排序資訊 氣泡排序 ...