1、冒泡排序
双层for循环,数组内部元素不断比较交换,最终排序。
时间复杂度为O(n²)
private void bubbleSort(int[] array)
{
int median=0;
for(int i=0;i<array.Length-1;i++)
{
for(int j=i+1;j<array.Length;j++)
{
if(array[i]>array[j])
{
median=array[i];
array[i]=array[j];
array[j]=median;
}
}
}
}
2、交换排序
双层for循环,相邻位不断比较,每一轮筛选出最大数元素,在下了一轮将其排除在外,再进行新一轮的的筛选(冒泡排序是最简单的交换排序)。
时间复杂度为O(n²)
private void exchangeSort(int[]array)
{
int demian=0;
for(int i=1;i<array.Length;i++)
{
for(int j=0;j<array.Length-i;j++)
{
if(array[j]>array[j+1])
{
demian=array[j];
array[j]=array[j+1];
array[j+1]=demian;
}
}
}
}
可以将其优化一下
private void exchangeSort(int[]array)
{
int demian=0;
bool isChange=true;
for(int i=1;i<array.Length && isChange;i++)
{
isChange=false;
for(int j=0;j<array.Length-i;j++)
{
if(array[j]>array[j+1])
{
demian=array[j];
array[j]=array[j+1];
array[j+1]=demian;
isChange=true;
}
}
}
}