开发者社区> 问答> 正文

java冒泡排序法

。,,,,,,

展开
收起
知与谁同 2018-07-16 17:05:26 1284 0
2 条回答
写回答
取消 提交回答
  • TA有点害羞,没有介绍自己...
    int temp=0;
    for (int i = 0; i < a.length-1 ; i++) {
    for (int j = 0; j < a.length - i - 1; j++){
    if (a[j]<a[j + 1]){ //把这里改成大于,就是升序了
    temp=a[j];
    a[j]=a[j + 1];
    a[j + 1]=temp;
    }
    }
    }

    -------------------------

    呵呵 ,冒泡。多少年不曾遇见。
    看代码没用,还是要理解什么是冒泡排序,也就是说算法,同样的还有选择法。。

    --2015-1-27 21:20:54 看这么多人说我装B,那我就完善下
    选择法:
    第一次找最大/最小的数字和第一个位置的数字互换
    第二次找次最大/最小的数字和第二个位置的数字互换
    ...以此类推

    public static void main(String[] args) {
    int nums[] = {5,12,7,17,4,1,6,7};
    int temp;
    for(int i=0;i<nums.length;i++){
    int min = i; //认为当前最小
    for(int j = i;j<nums.length;j++){
    if(nums[min] > nums[j] ){ // 记录小数字的索引,遍历一边之后 min存放最小数字的索引
    min = j;
    }
    }
    if(i!=min){ // 如果索引发生改变 则互换数字
    temp = nums[i];
    nums[i] = nums[min];
    nums[min] = temp;
    }
    }
    for(int n:nums){
    System.out.println(n);
    }

    }

    2019-07-17 22:49:57
    赞同 展开评论 打赏
  • 12535
    public class MySort {
    public static void main(String[] args) {

    MySort sort = new MySort();
    int[] arr = new int[]{3,22,11,5,400,99,20,22,5};
    sort.sort(arr);
    for(int i : arr){
    System.out.print(i+",");
    }
    }

    public void sort(int[] targetArr){//小到大的排序

    int temp = 0;
    for(int i = 0;i<targetArr.length;i++){
    for(int j = i;j<targetArr.length;j++){

    if(targetArr[i]>targetArr[j]){

    /*//方法一:
    temp = targetArr[i];
    targetArr[i] = targetArr[j];
    targetArr[j] = temp;

    //方法二:
    targetArr[i] = targetArr[i] + targetArr[j];
    targetArr[j] = targetArr[i] - targetArr[j];
    targetArr[i] = targetArr[i] - targetArr[j];*/
    }

    }
    }
    }
    }
    2019-07-17 22:49:57
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载