数组排序

冒泡排序:从数组中首元素开始和其他元素逐个比较,若其中一个元素比其小(或大),就交换首元素与其位置

int k[] = {3,4,5,1,0,2};
for(int i=0;i<k.length-1;i++)
{
for(int j=i+1;j<k.length;j++)
{
if(k[i]>k[j])
{
int temp = k[i];
k[i]=k[j];
k[j]=temp;
}
}
}
for(int i=0;i<k.length;i++)
{
System.out.println(k[i]);
}
array排序函数sort:

int k[] = {3,4,5,1,0,2};
Arrays.sort(k);
for(int n=0;n<k.length;n++)
{
System.out.println(k[n]);
}
选择排序:

int k[] = {3,4,5,3,2,1,0,2};
for(int i=0;i<k.length-1;i++)
{
int min = i;
for(int j=i+1;j<k.length;j++)
{
if(k[min]>k[j])
{
min=j;
}
if(min!=i)
{
int temp = k[i];
k[i]=k[min];
k[min]=temp;
}
}
}
for(int i=0;i<k.length;i++)
{
System.out.println(k[i]);
} //选择排序
插入排序:

int k[] = {3,4,5,3,2,1,0,2};
for(int i=1;i<k.length;i++)
{
for(int j=i;j>0;j--)
{
if (k[j]<k[j-1])
{
int temp=k[j-1];
k[j-1]=k[j];
k[j]=temp;
}
else break;
}
}
for(int i=0;i<k.length;i++)
{
System.out.println(k[i]);
} //插入排序
 

1.冒泡排序法:将数组中的相邻两个元素进行比较,将比较大(较小)的数通过两两比较移动到数组末尾(开始),执行一遍内层循环,确定一个最大(最小)的数,外层循环从数组末尾(开始)遍历到开始(末尾).

 
冒泡排序

2.选择排序法:将要排序的数组分成两部分,一部分是从大到小已经排好序的,一部分是无序的,从无序的部分取出最小的放到已经排序的最后面。

 
选择排序

3.插入排序法:将要排序的数组分成两部分,每次从后面的部分取出索引最小的元素插入到前一部分的适当位置

 
插入排序

4.快速排序法:快速排序法号称是目前最优秀的算法之一,实现思路是,将一个数组的排序问题看成是两个小数组的排序问题,而每个小的数组又可以继续看成更小的两个数组,一直递归下去,直到数组长度大小最大为2。

 
快速排序


作者:你为什么无理取闹
链接:https://www.jianshu.com/p/4f9202e11991
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
原文地址:https://www.cnblogs.com/xiaohuanghua/p/10451043.html