在学习新技术的同时,我们还应该时刻复习自己已学过的数据结构和经典算法。
一、最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第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博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-566854/ ,如需转载,请注明出处,否则将追究法律责任。