C#基础之冒泡排序

来源:互联网 发布:淘宝卖家怎么上图片 编辑:程序博客网 时间:2024/06/05 07:26

C#面试题中经常会出现这样给一个题:
给定一串数字,用冒泡排序(正序)
eg:12,5,8,6,3
现在的解决方法,当然是对数组进行排序。
Array .Sort(array );
//正序
//倒序
Array .Sort(array );
Array .Reverse(array );//翻转
可是什么是冒泡排序呢?
原理:从数组的第一个位置开始两两比较array[index]和array[index+1],如果array[index]大于array[index+1]则交换array[index]和array[index+1]的位置,止到数组结束;
从数组的第一个位置开始,重复上面的动作,止到数组长度减一个位置结束;
从数组的第一个位置开始,重复上面的动作,止到数组长度减二个位置结束;
。。。。
解决方案:
int[] Array={12,5,8,6,3};
for(int i=1;i<=Array.Length;i++)
{
for(int j=1;Array.length-i;j++)
{
if(Array[j-1]>Array[j])
{
int temp=Array[j-1];
Array[j-1]=Array[j];
Array[j]=temp;
}
}
}
for(int j=1;Array.length;j++)
{
Console.WriteLine(Array[j]);
}
好了,冒泡排序解决了。