c#排序演算法
在學習新技術的同時,我們還應該時刻複習自己已學過的資料結構和經典演算法。
一、最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之後,“最輕”的元素就浮到了最高位置;處理二遍之後,“次輕”的元素就浮到了次高位置。在作第二遍處理時,由於最高位置上的元素已是“最輕”元素,所以不必檢查。一般地,第i遍處理時,不必檢查第i高位置以上的元素,因為經過前面i-1遍的處理,它們已正確地排好序。時間複雜度 o(n^2);空間複雜度 o(1);比較次數 n(n+1)/2
程式碼:(vs2005中編譯通過)
using System;
using System.Collections.Generic;
using System.Text;
namespace SortMethod
{
class Program
{
static void Main(string[] args)
{
int[] iArray =new int[]{ 1, 13, 5,7 ,2 ,10 };
BubbleSorter bSort = new BubbleSorter();
bSort.Sort(iArray);
for (int k = 0; k < iArray.Length; k++)
{
Console.Write("{0}",iArray[k]);
Console.WriteLine();
}
}
}
public class BubbleSorter
{
public void Sort(int[] sortList)
{
int i, j, temp;
for (j= 1; j< sortList.Length;j++ )
{
for (i = 0; i < listArray.Length - j; i++)
{
if (sortList[i] > sortList[i + 1])
{
temp = sortList[i];
sortList[i] = sortList[i + 1];
sortList[i + 1] = temp;
}
}
}
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-566854/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#堆排序演算法C#排序演算法
- C#基數排序演算法C#排序演算法
- C#演算法----(三)希爾排序 (轉)C#演算法排序
- C#演算法-------(四)快速排序 (轉)C#演算法排序
- 經典排序演算法 — C#版本(中)排序演算法C#
- 經典排序演算法 — C# 版(上)排序演算法C#
- C#演算法-----(一)選擇排序 (轉)C#演算法排序
- C#演算法----(二)插入排序 (轉)C#演算法排序
- C#實現——十大排序演算法之選擇排序C#排序演算法
- C#資料結構與演算法系列(十五):排序演算法(SortAlgorithm)C#資料結構演算法排序Go
- 【C#】2.演算法溫故而知新 - 氣泡排序C#演算法排序
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 排序演算法__桶排序排序演算法
- 排序演算法__快速排序排序演算法
- 排序演算法__希爾排序排序演算法
- 排序演算法__堆排序排序演算法
- 排序演算法:快速排序排序演算法
- 【排序演算法】- 希爾排序排序演算法
- 排序演算法-堆排序排序演算法
- 排序演算法-快速排序排序演算法
- 排序演算法 - 堆排序排序演算法
- 排序演算法——快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- #排序演算法#【6】排序演算法總結排序演算法
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- JavaScript ,Python,Go,java,C#系列演算法之【插入排序】JavaScriptPythonGoC#演算法排序
- C#常用8種排序演算法實現以及原理簡介C#排序演算法
- 各種排序演算法總結及C#程式碼實現排序演算法C#
- C#資料結構與演算法5-C# 快速排序C#資料結構演算法排序
- C# 選擇排序C#排序
- C# 歸併排序C#排序
- C# list物件排序C#物件排序
- c# 陣列排序C#陣列排序
- 排序演算法之 '快速排序'排序演算法
- 排序演算法–氣泡排序排序演算法
- 排序演算法__氣泡排序排序演算法
- 排序演算法__選擇排序排序演算法
- 排序演算法__歸併排序排序演算法