例如:第一轮排序:第一个数与第二个数进行比较,若不符合要求的顺序,则交换两者的位置,否则继续进行二个数与第三个数比较...... 。直到完成第n-1个数与第n个数的比较 。此时第n个位置上的数已经按要求排好,它不参与以后的比较和交换操作java快速排序代码;第二轮排序:第一个数与第二个数进行比较,......直到完成第n-2个数与第n-1个数的比较;......第n-1轮排序:第一个数与第二个数进行比较 , 若符合所要求的顺序,则结束冒泡法排序;若不符合要求的顺序,则交换两者的位置,然后结束冒泡法排序 。
共n-1轮排序处理,第j轮进行n-j次比较和至多n-j次交换 。
从以上排序过程可以看出,较大的数像气泡一样向上冒,而较小的数往下沉,故称冒泡法 。
public void bubbleSort(int a[])
{
int n = a.length;
for(int i=0;in-1;i++)
{
for(int j=0;jn-i-1;j++)
{
if(a[j]a[j+1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
2、选择排序
选择法的原理是先将第一个数与后面的每一个数依次比较,不断将将小的赋给第一个数,从而找出最小的,然后第二个数与后面的每一个数依次比较,从而找出第二小的,然后第三个数与后面的每一个数依次比较,从而找出第三小的.....直到找到最后一个数 。
public void sort(int x[])
{
int n=x.length;
int k,t;
for(int i=0;in-1;i++)
{
k=i;
for(int j=i+1;j=n;j++)
{
if(x[j]x[k])k=j;
if(k!=i)
{
t=x[i];
x[i]=x[k];
x[k]=t;
}
}
}
}
3、插入排序
插入排序的原理是对数组中的第i个元素 , 认为它前面的i-1个已经排序好,然后将它插入到前面的i-1个元素中 。插入排序对少量元素的排序较为有效.
public void sort(int obj[])
{
for(int j=1;jobj.length;j++)
{
int key=obj[j];
int i=j-1;
while(i=0obj[i]key)
{
obj[i+1]=obj[i];
i--;
}
obj[i+1]=key;
}
}
4、快速排序
快速排序是对冒泡排序的一种改进 。它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要?。缓笤侔创畏椒ǘ哉饬讲糠质莘直鸾锌焖倥判颍雠判蚬炭梢缘莨榻校源舜蟮勒鍪荼涑捎行蛐蛄?。
public void quickSort(int obj[],int low,int high)
{
int i=low;
int j=high;
int keyValue=https://www.04ip.com/post/obj[i];
while(ij)
{
int temp=0;
while(ijobj[j]=keyValue)
{
j=j-1;
}
temp=obj[j];
obj[j]=obj[i];
obj[i]=temp;
while(ijobj[i]=keyValue)
{
i=i+1;
}
temp=obj[j];
obj[j]=ojb[i];
obj[i]=temp;
}
obj[i]=keyValue;
【java快速排序代码 java快速排序代码模板】if(lowi-1)
{
quickSort(obj,low,i-1);
}
if(highi+1)
{
quickSort(obj,i+1,high);
}
}
关于java快速排序代码和java快速排序代码模板的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 卖休闲运动风衣直播间文案,直播卖衣服的话语
- ins鸿蒙手机能用吗,鸿蒙手机如何使用ins
- word文件高清转pdf,word转pdf清晰度怎么调
- html中有哪些css样式,html css
- go语言删除文件中的内容 go get 删除
- 木雕视频用什么刀,木雕用什么材质的刻刀
- word文件框如何缩小,文档框怎么调整
- 直播完为什么很累,直播为什么这么累
- python差函数 python求差值代码