www.3112.net > jAvA冒泡排序降序

jAvA冒泡排序降序

冒泡排序的思想是比较相邻的两个元素,如前面的大后面的小,则进行交换,使大数往下沉.一趟比较完成之后,最大的数沉到最后一个元素.之后,开始第二轮比较,找出第二大的数,以此类推选择排序的思想就是选择其中一个元素,(一般都选择第一个)然后与它之后所有元素依次比较,若后面的元素小,则与之交换, 接着就选第二个依此类推

最简短的话Arrays.sort(array);升序之后再Arrays.reverse(array);降序虽然我猜你并不是要这个(手动滑稽)

选择排序和冒泡排序很像,以至于到现在很多书上写的可能都有错误,也给新人学习带来了麻烦. 我们有一个方法来分辨这两种算法,非常简单,只要在源代码中看到类似于:if(s[j]>s[j+1])这个就知道这是冒泡了,因为它只是交换临近的两个.而看到诸如:if(s[i]>s[j])就知道这是选择了,因为它是把i位置以后每一个元素跟i这个位置上的元素比较. 这个和java没什么关系,算法本身是独立于编程语言之外的,学会了思想,用什么语言都能做.

你要理解冒泡排序的原理,了解原理后有自己的思路,然后根据原理去写代码就ok了,你想想,冒泡排序比较时,使用第一个跟后面的一个个比较,将大的放后面,到倒数第二个第一轮比较结束,所以比较次数为(数组长度-1),然后进行下一轮比较,次数会比前一次减少一次,理清思路后写代码出现错误就知道什么原因了…………

难道回答就是为了分数吗?我靠,注意素质. 音乐无国界,学习更是如此. public class Paixu { public static void main(String[] args) { int [] myInt=new int[]{37,47,23,-5,19,56}; int t=0;//比较运算时交换中间数 final int len=myInt.length; for(int i=0

我给你写一个完整的算法:Public Class Bubblesort{ Public static void main(string args[]){ int array[] = {"55","44","22","14","5"}; for(int i = 0;i<array.length;i++){ System.out.print(array[i] + ","); } Bubblesort b = new Bubblesort(); int[]

import java.util.*; public class Main { public static void main(String[] args) { int []a=new int[5]; int i,j,t; Scanner scan=new Scanner(System.in); for(i=0;ia[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } System.out.print(a[0]); for(i=1;i

冒泡双向排序,速度快点,一次内循环把最大和最少的排序好了: int[] a = {4,234,6,1,35,75,3546,342,74,754,7,24,75,33,7532,2,33,33,5,7,7,7}; for(int i = 0;i a[j+1] ) { int t = a[j]; a[j] = a[j+1]; a[j+1] = t; } if(a[j] 评论0 0 0

public class SortTest { public void sort(int[] args){ for(int m : args){ System.out.print("排序前 "+args[m]+" "); } int time1 = 0,time2 = 0; for(int i = 0 ; i < args.length-1 ; i++

public class PaiXu { public static void main(String[] args) { int temp; int[] s={4,3,6,65,23,45,36,86};// Arrays.sort(s); 直接排序只要这一句 //冒泡排序 for(int j=1;j<s.length;j++){ //循环完把数字排好 for(int k=1;k<s.length;k++){ //这样循环一次排出剩下

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com