[Java]交换排序法(冒泡、快速)的简单说明

/*排序有内部排序和外部排序,内部排序在内存中进行,而外部排序还需要访问外存(数据量巨大时)。
参考:http://blog.csdn.net/happy_wu/article/details/51841244#
八大排序都是内部排序:
1.交换排序法(冒泡、快速)
2.插入排序法(直接插入、希尔)
3.选择排序法(简单选择、堆)
4.归并排序法
5.基数排序法
*/

/*采用冒泡排序法进行排序,从小到大。
未排序前的次序 :99 98  97  96  95  94  93  92
第1轮排序的结果:92 99  98  97  96  95  94  93 此时,第1个元素是最小的,今后不进行排序
第2轮排序的结果:92 93  99  98  97  96  95  94 此时,第1、2个元素是最小的,今后不进行排序
第3轮排序的结果:92 93  94  99  98  97  96  95 此时,第1、2、3个元素是最小的,今后不进行排序
第4轮排序的结果:92 93  94  95  99  98  97  96 ...
第5轮排序的结果:92 93  94  95  96  99  98  97
第6轮排序的结果:92 93  94  95  96  97  99  98
第7轮排序的结果:92 93  94  95  96  97  98  99
第8轮排序的结果:92 93  94  95  96  97  98  99
排序最后的次序 :92 93  94  95  96  97  98  99
*/
public class mpSort{
	public static void main(String args[]){
		int score[] = {99,98,97,96,95,94,93,92} ;		// 使用静态初始化声明数组
		for(int i=0;i<score.length;i++){	//使用冒泡排序法
			for(int j=i+1;j<score.length;j++){
				if(score[i]>score[j]){	// 交换位置
					int temp = score[i] ;	// 中间变量
					score[i] = score[j] ;
					score[j] = temp ;
				}
			}
		}
		System.out.print("排序最后的次序 :") ;
		for(int i=0;i<score.length;i++){	// 输出排序后的结果
			System.out.print(score[i]+"\t") ;
		}
	}
};

发布了15 篇原创文章 · 获赞 1 · 访问量 4136

猜你喜欢

转载自blog.csdn.net/jsqdsq/article/details/78150138