c#排序算法(待续)
生活随笔
收集整理的這篇文章主要介紹了
c#排序算法(待续)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在學習新技術的同時,我們還應該時刻復習自己已學過的數據結構和經典算法。?
一、最簡單的排序方法是冒泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之后,“最輕”的元素就浮到了最高位置;處理二遍之后,“次輕”的元素就浮到了次高位置。在作第二遍處理時,由于最高位置上的元素已是“最輕”元素,所以不必檢查。一般地,第i遍處理時,不必檢查第i高位置以上的元素,因為經過前面i-1遍的處理,它們已正確地排好序。時間復雜度?o(n^2);空間復雜度?o(1);比較次數?n(n+1)/2
代碼:(vs2005中編譯通過)
?2?????????{????????????
?3?????????????int?temp=0;
?4?????????????for?(int?i?=?0;?i?<?array.Length;?i++)
?5?????????????{
?6?????????????????for?(int?j?=?i+1;?j?<?array.Length;?j++)
?7?????????????????{
?8?????????????????????if?(array[i]?>?array[j])
?9?????????????????????{
10?????????????????????????temp?=?array[i];
11?????????????????????????array[i]?=?array[j];
12?????????????????????????array[j]?=?temp;
13?????????????????????}
14?????????????????}
15?????????????}
16?????????????return?array;????????????
17?????????}
?
總結
以上是生活随笔為你收集整理的c#排序算法(待续)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hyper-V环境下虚拟机和宿主机之间时
- 下一篇: 【有福如林】OpenFlashChart