冒泡排序法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序法相关的知识,希望对你有一定的参考价值。
参考技术A方法一:每趟从第一个元素开始,依次与下一个元素比较,大的往下交换;
方法二:记录交换位置,可以省略下趟不必要的比较(如果后面几个元素已经是有序的,第二趟就直接不用比较这几个元素);
方法三:双向冒泡,正向找最大(从最小元素交换位置处开始比较,找到最大元素并记录交换位置),反向找最小(从最大元素交换位置处开始比较,找到最小元素并记录交换位
冒泡排序是比较基础的排序算法之一,其思想是相邻的元素两两比较,较大的数下沉,较小的数冒起来,这样一趟比较下来,最大(小)值就会排列在一端,整个过程如同气泡冒起,因此被称作冒泡排序。
冒泡法排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
//冒泡排序 从小到大 int [] a = new int []{23,45,67,12,97,78,8,36}; System.out.print("原始数据 "); for(int t : a) { System.out.print(t + " "); } System.out.println(); //循环次数 for (int j=0; j<a.length-1 ; j++){ //前后比较循环 for (int i =0; i< a.length-1-j; i++) { //比较前后元素的大小顺序 if (a[i]>a[i+1]) { //临时存放 int b =a[i]; a[i]=a[i+1]; a[i+1]=b; } } System.out.print(j+1 + " 次循环 "); for(int t : a) { System.out.print(t + " "); } System.out.println(); }
以上是关于冒泡排序法的主要内容,如果未能解决你的问题,请参考以下文章