国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 淺析java雙向冒泡排序算法

淺析java雙向冒泡排序算法

2019-12-09 14:30hebedich JAVA教程

這篇文章主要介紹了淺析java雙向冒泡排序算法,并附上源碼,需要的朋友可以參考下

以整數(shù)升序排序?yàn)槔齺?lái)簡(jiǎn)單說(shuō)明一下雙向冒泡排序的過(guò)程:首先從前往后把最大數(shù)移到最后,然后反過(guò)來(lái)從后往前把最小的一個(gè)數(shù)移動(dòng)到數(shù)組最前面,這一過(guò)程就是第一輪,然后重復(fù)這一過(guò)程,最終就會(huì)把整個(gè)數(shù)組從小到大排列好。雙向冒泡排序要稍微優(yōu)于傳統(tǒng)的冒泡排序,因?yàn)殡p向排序時(shí)數(shù)組的兩頭都排序好了,我們只需要處理數(shù)組的中間部分即可,而單向即傳統(tǒng)的冒泡排序只有尾部的元素是排好序的,這時(shí)每輪處理都需要從頭一直處理到已經(jīng)排好序元素的前面一個(gè)元素。雖然它在效率上有了點(diǎn)改進(jìn),但它也不能大幅度提高其排序的效率,這是由冒泡排序的基本過(guò)程所決定了的。在此基礎(chǔ)上改進(jìn)了一下,下面的代碼可以實(shí)現(xiàn)對(duì)奇數(shù)偶數(shù)分別排序

雙向冒泡排序源代碼:

 

復(fù)制代碼代碼如下:

package com.zc.manythread;
import java.util.Random;
/**
 * 雙向冒泡排序
 * @author 偶my耶
 *
 */
public class BBSort  {
    //雙向冒泡算法,極大的減少了循環(huán)排序的次數(shù)
    public int[] sort(int[] a)throws Exception{
        int j;
        int limit=a.length;
        int st=-1;
        while(st<limit){
             //必須要給st和limit賦值,否則若數(shù)組一開(kāi)始就有序
            st++;
            limit--;
            boolean swapped=false;
            //第一次循環(huán)將最大的值放到末尾
            for (j = st    ; j < limit; j++) {
                 if (a[j]>a[j+1]) {
                    int T=a[j];
                    a[j]=a[j+1];
                    a[j+1]=T;
                    swapped=true;
                }
            }
            if (!swapped) {
                return a;
            }else {
                swapped=false;
                //第二次循環(huán)將最小的值放到了開(kāi)頭
                for (j = limit; --j>=st;) {
                    if(a[j]>a[j+1]){
                        int T=a[j];
                        a[j]=a[j+1];
                        a[j+1]=T;
                        swapped=true;
                    }
                }
                if (!swapped) {
                    return a;
                }
            }
        }
        return a;
    }
    private static int[]  createDate(int count) {
        /**
         * 無(wú)重復(fù)數(shù)組
         */
        int[] data=new int[count];
          Random rand = new Random();
          boolean[] bool = new boolean[100];
          int num = 0;
          for (int i = 0; i < count; i++) {
           do {
            // 如果產(chǎn)生的數(shù)相同繼續(xù)循環(huán)
            num = rand.nextInt(100);
           } while (bool[num]);
           bool[num] = true;
        /*   list.add(num);*///list 列表
           data[i]=num;
          }
          return data;
    }
public static void main(String[] args) {
    final int count=10;
    int[] data=createDate(count);
    for(int n : data){
           System.out.print(n+"\t");
        }
    System.out.println();
    BSrot bsrot=new BSrot(data);
    try {
    int[] a=bsrot.sort(data);
    for(int n : a){
           System.out.print(n+"\t");
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
}

 

運(yùn)行結(jié)果:

淺析java雙向冒泡排序算法

延伸 · 閱讀

精彩推薦
295
主站蜘蛛池模板: 国产精品亚洲一区二区三区在线 | 噜噜噜噜狠狠狠7777视频 | 日韩一二区 | 国外成人在线视频网站 | 免费观看av网站 | 青青操天天干 | 国产麻豆乱码精品一区二区三区 | 午夜免费电影 | 综合色av| 久久亚洲二区 | 欧美一区二区三区黄 | 国产美女精品一区二区三区 | 国产亚洲在线 | 国产黄视频在线观看 | 亚洲国产精品久久久久婷婷老年 | 久久免费视频观看 | 午夜资源| 91麻豆精品国产91久久久更新资源速度超快 | 成人免费毛片aaaaaa片 | 国产午夜小视频 | 91在线免费视频 | 国产精品一区二区视频 | 青青草在线视频免费观看 | 国产欧美日韩一级大片 | 欧美日韩高清一区 | 亚洲成av人片在线观看无码 | 日韩激情一区 | 色视频在线免费看 | 欧美激情一区二区 | 欧美日韩国产精品一区二区 | 精品日韩一区二区三区 | 亚洲午夜视频 | 日韩精品区 | 久久久精品日本 | 中文字幕日本一区二区 | 国产乱xxxxx97国语对白 | 欧美一级片在线播放 | 欧美日韩免费在线 | 欧美一区二区三区在线观看视频 | 欧美在线网站 | 成人午夜精品一区二区三区 |