欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

排序之java

程序员文章站 2022-07-15 09:30:17
...
                        排序之java
这里讲解三种基本的排序:冒泡排序,插入排序,选择排序
冒泡排序:搜索整个值,比较相邻的两个值。如果后者值大于前者,则进行交换。(优化:可采用boolean值处理)
public static void bubbleSort(int data[]){
        //获取所有长度
		int l=data.length;
         //循环总个数-1
		for(int i=0;i<l-1;i++ ){
           //比较相邻的两个数,如果后者大于前者,则交换。 
			for(int j=1;j<l-i;j++){
				if(data[j-1]<data[j]){
					int temp=data[j];
					data[j]=data[j-1];
					data[j-1]=temp;
				}
			}
			for(int d:data){
		    	   System.out.println(d);
		       }
		       System.out.println("=================");
			
		}

选择排序:感觉和冒泡有点像。搜索整个值,将第一个值和后面所有的值进行比较,取出最小的数放入第一个,然后第二个数继续和后面所有的值比较,然后取出最小的值放入第二个,依次类推。(优化:可采用boolean值处理)
	public static void chooseSort(int []b){
		
		for(int i=0; i<b.length-1; i++){
			//将第i个值和所有值进行比较,取出最小值放入第i个。
			for(int j=i+1;j<b.length;j++){
				if(b[i]>b[j]){
					int temp=b[i];
					b[i]=b[j];
					b[j]=temp;
				}
			}
			  for(int d:b){
		    	   System.out.println(d);
		       }
		       System.out.println("=================");
			
		}	
	}


插入排序:将第一个数据和第二个数据进行有序排列,从0到I个数据进行有序排列,然后将I+1插入到0+I的有序排列中。逐步实现有序排列。(优化:可采用二分法)
	public static void insertSort(int []b){
		//取第二个到最后一个值遍历
		for(int i=1; i<b.length; i++){
			//对0到i个值进行有序排列
			for(int j=0;j<i;j++){
				if(b[i]<b[j]){
					int temp=b[i];
					b[i]=b[j];
					b[j]=temp;
				}
			}
			  for(int d:b){
		    	   System.out.println(d);
		       }
		       System.out.println("=================");			
		}
	}

相关标签: Java J#