当前位置:文章写作网 >日记 >日记 >C#排序(一):插入排序

C#排序(一):插入排序

2010-08-11 15:31 作者:Franziska 阅读量:1677 推荐0次 | 我要投稿

插入排序是最简单最直观的排序算法了,它的依据是:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止。

class Program

{

static void Main()

{

int[] array = new int[] { 34, 2, 45, 67, 89, 90 };

Output(array);

InsertSort(array);

Console.WriteLine("插入排序完成:");

Output(array);

}

private static void Output(int[] array)

{

for (int i = 0; i < array.Length; i++)

{

Console.Write("{0}\t",array[i]);

}

Console.WriteLine();

}

private static void InsertSort(int[] array)

{

//从第二个元素开始

for (int i = 1; i < array.Length; i++)

{

int temp = array[i];

int j = i - 1;

//从当前元素往右边找插入点

while (array[j] > temp)

{

array[j + 1] = array[j];//后移

j--;

if (j == -1)

break;

}

//前面已经后移了,会留下一个空位置,现在就插入

array[j + 1] = temp;

}

}

}

其他人在看啥

    《C#排序(一):插入排序》的评论 (共 0 条)

    • 还没有人评论,赶快抢个沙发