java数据结构 冒泡排序的遍历与排序
Java  /  管理员 发布于 3年前   211
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从小到大排序
分析:使用for来取数 ,嵌套for来循环
交换使用if(array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
/** * 使用冒泡排序数组 * @author Administrator * */public class paixu { public static void main(String[] args) { // TODO Auto-generated method stubint array[] = {1,2,34,3,423,23,23,2}; for(int i = 0;i<array.length;i++){ for(int j = i+1;j<array.length;j++){ if(array[i] > array[j]){int temp = array[i];array[i] = array[j];array[j] = temp;}}}//遍历for(int i = 0;i<array.length;i++){int num = array[i];System.out.print(num +"\t");}} } /*运行结果1 2 2 3 23 23 34 423 */
例体 2:;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从大到小排序
分析:使用for来取数 ,嵌套for来循环
交换使用if(array[i] <array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
/** * 使用冒泡排序数组 * @author Administrator * */public class paixu {public static void main(String[] args) {// TODO Auto-generated method stubint array[] = {1,2,34,3,423,23,23,2};for(int i = 0;i<array.length;i++){for(int j = i+1;j<array.length;j++){if(array[i] < array[j]){int temp = array[i];array[i] = array[j];array[j] = temp;}}}//遍历for(int i = 0;i<array.length;i++){int num = array[i];System.out.print(num +"\t");}}}/*运行结果4233423233221*/
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间
例题 3:
在一个数组中插入几个数,使用冒泡排序找出最大的一个数
package 冒泡排序;/*找出做大的一个数*/public class ArrayBub {private long[] a;private int nElems;public ArrayBub(int max){a =new long[max];nElems= 0;} //定义一个插入的方法public void insert(int value){a[nElems] = value;nElems++;}//定义一个显示的方法public void display(){for(int i= 0;i<nElems;i++){System.out.println(a[i]);}}//冒泡排序public void bubbleSort(){for(int i = 0;i<nElems-1;i--){for(int j = 0;j<nElems;j++){if(a[j]>a[j+1]){swap(j,j+1);}}}}//交换public void swap(int one,int two ){long temp = a[one];a[one] = a[two];a[two] = temp;;}}package 冒泡排序;public class BubbleSortApp {public static void main(String[] args) {int maxSize = 100;ArrayBub arr = new ArrayBub(maxSize);for(int i = 0;i<5;i++){arr.insert(10 + i);}arr.insert(101);arr.insert(1033);arr.insert(102);arr.insert(1034);arr.display();arr.bubbleSort();arr.display();}}/*运行结果1034*/
博主 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..xiaoB 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..BUG4 在
你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..博主 在
go语言+beego框架中获取get,post请求的所有参数中评论 @ t1 直接在router.go文件中配就ok..Jade 在
如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号