1. 程式人生 > >氣泡排序4種寫法-java

氣泡排序4種寫法-java

寫一點自己對冒牌排序的理解:

int[] arr = new int[length];

1,通過對比相鄰2個數,得到最大/最小數;

1>從前往後比,每次篩選出最後一位
for(int i=0;i<arr.length;i++){  //需要對比幾輪
    for(int j=0;j<arr.length-i-1;j++){ //每輪需對比幾次
    //從0依次往後對比,結果最後一位是最小值
    //找最小數,如果前一位比後一位小,則交換位置
        if(arr[j]<arr[j+1]){
            //定義一個臨時變數做位置交換的容器
            int
temp; //交換位置 temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }

第一輪對比得到最後一個位置的準確數。第二輪對比應該只比到倒數第二位,依次類推,另一種寫法:

for(int i=arr.length;i>0;i--){
    for(int j=0;j<i-1;j++){
        if(arr[j]<arr[j+1]){
            int temp;
            temp=arr[j];
            arr[j]=arr[j+1
]; arr[j+1]=temp; } } }
2>從後往前比,每次篩選出第一位
    for(int i=0;i<arr.length;i++){  
        for(int j=arr.length;j>0;j--){ 
        //從最後一位開始比
            if(arr[j]<arr[j-1]){
                int temp;
                temp=arr[j];
                arr[j]=arr[j-1];
                arr[j-1
]=temp; } } }

2,取一個位置上的數,分別和其他數做對比,確定該位置的準確數

for(int i=0;i<arr.length-1;i++){
    for(int j=i+1;j<arr.length;j++){
        if(arr[i]<arr[j]){
            int temp;
            temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    }
}
這種方式從前往後和從後往前,沒什麼區別

菜鳥筆記,大神留情!

相關推薦

氣泡排序4寫法-java

寫一點自己對冒牌排序的理解: int[] arr = new int[length]; 1,通過對比相鄰2個數,得到最大/最小數; 1>從前往後比,每次篩選出最後一位 for(int i=0;i<arr.length;i++){ //

氣泡排序寫法

package com.zzk.suanfa; /** * Created on 2017/6/16. */ public class Bubbler { //排序演算法1,氣泡排序法 第一種寫法 public static void ma

Android 按鈕的響應點擊事件的4寫法

是把 nac sta lns toast 一段 大寫 n) eat Android按鈕的響應點擊事件 學習了按鈕的響應點擊事件,寫一下總結,寫的不好的希望大家能給出意見或建議。 這是layout xml文件 點擊事件只需要獲得Button的id或者onClick

高併發程式設計系列:4常用Java執行緒鎖的特點,效能比較、使用場景

高併發程式設計系列:4種常用Java執行緒鎖的特點,效能比較、使用場景 http://youzhixueyuan.com/4-kinds-of-java-thread-locks.html   在Java併發程式設計中,經常遇到多個執行緒訪問同一個 共享資源 ,這時候作為開發者

排序演算法之氣泡排序——2形式

1.第一種形式氣泡排序 package Sort; public class BubbleSort1 {     public static void main(String[] args) {      &nbs

4常用Java執行緒鎖的特點,效能比較、使用場景

文章目錄 多執行緒的緣由 多執行緒併發面臨的問題 4種Java執行緒鎖(執行緒同步) Java執行緒鎖總結 多執行緒的緣由 在出現了程序之後,作業系統的效能得到了大大的提升。雖然程序的出現解決了作業系統的併

這可能是最透徹的氣泡排序演算法解析(java實現)

氣泡排序是一種思想簡單,便於理解和實現的排序演算法,也許是很多人學習的第一個排序演算法,廢話不多說,我們來實現它 演算法詳解 我們以升序排列為例,演算法的思想是,遍歷整個陣列,依次對陣列中的每兩個數進行比較大小,通過兩個數字的交換,達到將最大的元素移動到陣列的最

排序演算法之氣泡排序的思想以及Java實現

1 基本思想 設排序表長為n,從後向前或者從前向後兩兩比較相鄰元素的值,如果兩者的相對次序不對(A[i-1] > A[i]),則交換它們,其結果是將最小的元素交換到待排序序列的第一個位置,我們

C#委託方法匿名的4寫法

using System;using System.Threading; //不需要建構函式的委託物件internal sealed class NoConstructorDelegateClass{    public static void CallbackWithout

js陣列排序寫法(冒泡)

js實現陣列的排序方法(sort方法) var arrObj = new Array (1,8,7,6); arrObj.sort(); console.log(arrObj.join(",")) 如

單例模式的七寫法 (Java)

第一種(懶漢,執行緒不安全): public class Singleton { private static Singleton instance; private Singleton (){} public st

氣泡排序實現--圖解/例項/java/php

氣泡排序 概念 在接觸程式的過程中,我們經常會使用到各種各樣的排序演算法來滿足我們的需求 氣泡排序就是眾多排序演算法中一種簡單好用的演算法 氣泡排序以其像氣泡一樣將元素交換到頂端的形式從而命名氣泡排

Android 點選事件的4寫法

1、重寫點選事件監聽類 button1.setOnClickListener(new MyOnClickListener()); private class MyOnClickListener implements OnClickListener{@Overridepubl

【JAVA8】Set排序寫法

工作中遇到,寫了很久以前的寫法,師兄給了很多建議,於是整理了一下。孔子曰:“你知道茴香豆的茴字有幾種寫法嗎?” 第一種,平常的寫法: public class App { public static void main( String[] args ) {

實驗六:排序演算法應用 1.錄入學生基本資訊 2、直接插入排序 3、氣泡排序 4、快速排序 5、簡單選擇排序 6、堆排序

/*實驗六:排序演算法應用 內容: 給出n個學生的考試成績表,每條記錄由學號、姓名和分數和名次組成,設計演算法完成下列操作: (1)設計一個顯示對學生資訊操作的選單函式如下所示: *************************1、錄入學生基本資訊2、直接插入排序3、氣泡

4常用Java執行緒鎖的特點,效能比較及使用場景

開發十年,就只剩下這套架構體系了! >>>   

Java氣泡排序的6寫法(1)

/** * */ package ch02; /** * @author Administrator *sorting algorithm */ public class javaData1 { // public static void sw

氣泡排序4for迴圈寫法

本人共總結出4種氣泡排序的for迴圈寫法: 1 for(i=0;i<n;i++){ for(j=0;j<=i;j++) /

java算法面試題:排序都有哪幾方法?請列舉。用JAVA實現一個快速排序。選擇冒泡快速集合至少4方法排序

算法 err div println rda print 算法面試 ++ 快速排序 package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util

PHP 常見4排序 氣泡排序、選擇排序、插入排序、快速排序

1、氣泡排序 原理:對一組資料,比較相鄰數的大小,將值大的放到後面。 <?php // 氣泡排序 function bubbleOrder($arr) { $count = count($arr); $temp = 0; // 外層控制排序次數 for ($