`

冒泡排序与插入排序

    博客分类:
  • Java
阅读更多

Java常用排序算法的实现

 

 

  //swap方法交换(最好写到程序内部,减少调用)
	private void swap(int one,int two){
		long temp=a[one];
		a[one]=a[two];
		a[two]=temp;
	}



	//冒泡排序主代码   
	public void bubbleSort(){   
		int out, in;  	    
		for (out=nElems-1;out>1;out--){//外循环,找到需要比较的最后的位置   
			for(in=0;in<out;in++){       //内循环,比较outer前面的书籍    
				if(a[in]>a[in+1]){         //比较大小,将大数据排在后面   
					swap(in,in+1);   
				}   
			}   
		}
  	}   

	//选择排序主代码
	public void selectionSort(){
		int out, in,min;	
		
		for (out=0; out<nElems-1;out++){     //外循环,从最左端开始放			
			min=out;                         //第一个默认为最小                           
			for(in=out+1;in<nElems;in++)       //内循环
				if(a[in]<a[min])
					min=in;
			swap(out,min);
		}		
	}
	
	//插入排序主代码
	public void insertionSort(){
		int out, in;			
		for (out=1; out<nElems;out++){     //外循环,从最左端开始放			
			long	temp=a[out];
			in = out;
			while(in>0&&a[in-1]>=temp){
				a[in]=a[in-1];
				--in;
			}                                                 
			a[in]=temp;               //插入标记项			
		}		
	}
	

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics