各种排序算法java代码 十种排序算法java

java中排序算法代码package temp;
import sun.misc.Sort;
/**
* @author zengjl
* @version 1.0
* @since 2007-08-22
* @Des java几种基本排序方法
*/
/**
* SortUtil:排序方法
* 关于对排序方法的选择:这告诉我们,什么时候用什么排序最好 。当人们渴望先知道排在前面的是谁时,
* 我们用选择排序;当我们不断拿到新的数并想保持已有的数始终有序时,我们用插入排序;当给出的数
* 列已经比较有序,只需要小幅度的调整一下时,我们用冒泡排序 。
*/
public class SortUtil extends Sort {
/**
* 插入排序法
* @param data
* @Des 插入排序(Insertion Sort)是,每次从数列中取一个还没有取出过的数,并按照大小关系插入到已经取出的数中使得已经取出的数仍然有序 。
*/
public int[] insertSort(int[] data) {
1/11页
int temp;
for (int i = 1; idata.length; i) {
for (int j = i; (j0)(data[j]data[j - 1]); j--) {
swap(data, j, j - 1);
}
}
return data;
}
/**
* 冒泡排序法
* @param data
* @return
* @Des 冒泡排序(Bubble Sort)分为若干趟进行,每一趟排序从前往后比较每两个相邻的元素的大?。ㄒ虼艘惶伺判蛞冉蟦-1对位置相邻的数)并在
* 每次发现前面的那个数比紧接它后的数大时交换位置;进行足够多趟直到某一趟跑完后发现这一趟没有进行任何交换操作(最坏情况下要跑n-1趟,
* 这种情况在最小的数位于给定数列的最后面时发生) 。事实上 , 在第一趟冒泡结束后,最后面那个数肯定是最大的了,于是第二次只需要对前面n-1
* 个数排序,这又将把这n-1个数中最小的数放到整个数列的倒数第二个位置 。这样下去,冒泡排序第i趟结束后后面i个数都已经到位了 , 第i 1趟实
* 际上只考虑前n-i个数(需要的比较次数比前面所说的n-1要?。?。这相当于用数学归纳法证明了冒泡排序的正确性
java实现几种常见排序算法下面给你介绍四种常用排序算法:
1、冒泡排序
特点:效率低,实现简单
思想(从小到大排):每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素 。这只是冒泡排序的一种,当然也可以从后往前排 。
2、选择排序
特点:效率低 , 容易实现 。
思想:每一趟从待排序序列选择一个最小的元素放到已排好序序列的末尾,剩下的位待排序序列,重复上述步骤直到完成排序 。
3、插入排序
特点:效率低,容易实现 。
思想:将数组分为两部分,将后部分元素逐一与前部分元素比较,如果当前元素array[i]?。吞婊?。找到合理位置插入array[i]
4、快速排序
特点:高效,时间复杂度为nlogn 。
采用分治法的思想:首先设置一个轴值pivot,然后以这个轴值为划分基准将待排序序列分成比pivot大和比pivot小的两部分,接下来对划分完的子序列进行快排直到子序列为一个元素为止 。
排序算法 java编程public class Sort
{
//选择排序
public static void selectSort(char[] data)
{
int i,j,mx;
char temp;
for(i = 0; idata.length-1; i)
{
mx = i ;
for(j = i 1 ; jdata.length; j)
{
if(data[mx]data[j])
mx = j ;
}
temp = data[i];
data[i] = data[mx];
data[mx] = temp;
}
}
//插入排序
public static void insertSort(char[] data)
{
int i,j,mx;
char key ;
for(i=1; idata.length -1; i)
{
key = data[i];
mx = i;
for(j= i-1;j0;j--)
{
if(keydata[j])
{
data[j 1] = data[j];
mx = j ;
}
}
data[mx]=key;
}
}
//显示数据
public static void showData(char[] data)
{
int i;
for(i=0; idata.length; i)
System.out.print(data[i] "");
System.out.println();
}
public static void main(String[] args)
{
char[] data = https://www.04ip.com/post/{'9','8','7','6','5','4','3','2','1'};
Sort.selectSort(data);
Sort.showData(data);
Sort.insertSort(data);
Sort.showData(data);
}
}
这个程序还不够你的要求,你可以再修改修改
Java的几种常见排序快速排序法、冒泡法、选择排序法、插入排序法
1.快速排序:
import java.util.Arrays;
public class Test2{
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrays.sort(a);//进行排序
for(int i: a){
System.out.print(i);
}
}
}
2.冒泡排序
public static int[] bubbleSort(int[] args){//冒泡排序算法
for(int i=0;iargs.length-1;i){
for(int j=i 1;jargs.length;j){
if (args[i]args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
3.选择排序
public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;iargs.length-1 ;i){
int min=i;
for (int j=i 1;jargs.length ;j){
if (args[min]args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
4.插入排序
public static int[] insertSort(int[] args){//插入排序算法
for(int i=1;iargs.length;i){
for(int j=i;j0;j--){
if (args[j]args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
java冒泡排序法代码冒泡排序是比较经典各种排序算法java代码的排序算法 。代码如下:
for(int i=1;iarr.length;i){
for(int j=1;jarr.length-i;j){
//交换位置
}
拓展资料:
原理:比较两个相邻的元素各种排序算法java代码 , 将值大的元素交换至右端 。
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面 。即在第一趟:首先比较第1个和第2个数 , 将小数放前,大数放后 。然后比较第2个数和第3个数,将小数放前 , 大数放后,如此继续 , 直至比较最后两个数,将小数放前,大数放后 。重复第一趟步骤 , 直至全部排序完成 。
第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;
第二趟比较完成后 , 倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;
依次类推,每一趟比较次数-1;
……
举例说明:要排序数组:int[] arr={6,3,8,2,9,1};
for(int i=1;iarr.length;i){
for(int j=1;jarr.length-i;j){
//交换位置
}
参考资料:冒泡排序原理
【各种排序算法java代码 十种排序算法java】各种排序算法java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于十种排序算法java、各种排序算法java代码的信息别忘了在本站进行查找喔 。

    推荐阅读