JS快速排序之氣泡排序
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>快速排序</title> </head> <body> <script> var arr = [5,23,6,8,64,25,45,68,36]; function sorts(arr) { var len = arr.length for(var i = 0; i < len; i++){ for(var j = 0; j< len - 1 - i; j++){ if(arr[j]>arr[j+1]){ var big = arr[j]; arr[j] = arr[j+1]; arr[j+1] = big; } } } return arr; } sorts(arr); console.log(arr); </script> </body> </html>
以上是氣泡排序的寫法。
1.第一次迴圈時i = 0;在第二個迴圈j裡會迴圈到arr的長度減1次,能將陣列中最大的數字放在最後;
2.第二次迴圈時i = 1;在第二個迴圈j裡會迴圈到arr的長度減二次,是因為最後一位已經是最大的了,就沒必要再去遍歷了;同時會將第二大的數字放在倒數第二位;
3.同第2步驟,依次可將陣列排列出來。
相關推薦
JS快速排序之氣泡排序
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>快速排序</title> </head> <
交換排序之--氣泡排序,快速排序
氣泡排序是一種很經典的排序方式了,當然他也是最簡單的一種交換式排序,氣泡排序的思想很簡單,從前面開始,每每兩個數相比,如果前面的大於後面的則交換位置,知道最後一個數,這樣一輪排序下來,最大的
常見排序之氣泡排序
#include<stdio.h> int Array[] = {2,0,1,3,4,8,6,7,5,9}; void Bubble_Sort(int *Array_Sort)注:此處可寫int Array_Sort[10] {
【資料結構】八大排序之氣泡排序
氣泡排序:(升序為例) 利用兩個for迴圈每次比較相鄰的兩個元素,如果前一個元素比後一個元素大則交換兩個數。外層的for迴圈控制排序的總趟數,內層的for迴圈控制每一趟的相鄰兩個數的比較的次數 我們很輕易的看出: 氣泡排序的時間複雜度最
演算法排序之氣泡排序
最近一段時間一段時間一直在學習演算法排序,突然間就想把以前學的排序演算法來寫一寫。 今天就先來說一下氣泡排序,下就然我們來看一下氣泡排序的幾個特點和其中的一種演算法實現: 1、比較相鄰的
Python八大排序之-----氣泡排序
def bubbleSort1(): L = [] listone = input("請輸入你要排序的玩意兒:") listone = listone.split(',') for v in listone: c = int(v
基礎排序之氣泡排序_選擇排序_插入排序
氣泡排序 相鄰的兩個數比較排序 第一次迴圈先找到最大數/最小數排在第一位,後面每次迴圈以此類推 插入排序 將後面的某個數與前面的數比較,如果符合條件(比其大/比其小)將之取出 前面的數依次向後面移動 選擇排序 第一次迴圈,首位與後面每個位置上的數比較,找到最大值\最小
八大內部排序之——氣泡排序
*** 氣泡排序 最壞複雜度 O(n^2) 穩定排序 *** #include <iostream> using namespace std; void print(int *a,int n){ for(int i=0;i<n;i++)
交換排序之氣泡排序(四)
氣泡排序(Bubble Sort),是一種 電腦科學領域的較簡單的 排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。 程式碼實現:
java實現交換排序之氣泡排序
一:氣泡排序基本思想 氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。 它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需 要交換,也就是說該數列已經排
【8086彙編】基礎排序之氣泡排序
氣泡排序是一種極為基礎的排序演算法,相信學過C語言、JAVA等程式語言的同學對此都有所瞭解。 氣泡排序的原理是將陣列中的前後兩個數兩兩比較,小的在前大的在後(你也可以反過來),一次迴圈過後,最大的數到了末尾。 接下來是排除最後那個最大的數,對前面的數繼續進行上述操作。
連結串列排序之 氣泡排序
#include <stdio.h> #include <stdlib.h> typedef struct guest { int num; struct guest *next; }guest; guest * Create();
Java-陣列排序之氣泡排序、選擇排序、折半查詢
氣泡排序 核心思想:相鄰兩個數比較大小,然後換位 public static void main(String[] args) { int[] name = new int[] {12,5
python排序之氣泡排序
氣泡排序 思想:每次比較相鄰兩個元素,如果它們的順序錯誤,就對換它們的位置。 每一趟只能將一個元素歸位,如果有n個元素需要進行排序,則需要將n-1個元素進行歸位,即進行(n-1)躺操作,已經歸位的不再比較。 最優時間複雜度:O(n) 【表示便利一次沒有發現任何可以交換的
java之氣泡排序、選擇排序、快速排序、插入排序、java8排序
package cn.com.javatest.sort; import org.apache.commons.lang3.StringUtils; /** * 常用排序方法 * * @author: Rodge * @time: 2018年10月4日 下午5:16:22 * @ve
排序演算法之快速排序,氣泡排序用python程式碼實現
一、快速排序 1.在列表中選出一個基準數(通常為列表的第一個數) 2.將列表中小於基準數的資料移到基準列表的左邊,將大於基準數的資料移到基準數的右邊 3.對於基準數左,右兩邊的列表,不斷重複以上兩個過程,直到每個子集只有一個元素, 即為全部有序的. def qu
排序演算法之交換排序(氣泡排序、快速排序)
前言 在前面幾篇部落格中總結了插入排序(直接插入和希爾排序)、選擇排序(直接選擇和堆排序)以及歸併排序,這裡將講下兩種選擇排序演算法——氣泡排序和快速排序。 氣泡排序 基本概念 氣泡排序相對快速排序而言相對簡單。冒泡就如同水裡的魚吐泡泡一樣,剛開始時泡泡很小,但
排序演算法之氣泡排序和快速排序(Java版)
轉自:http://www.cnblogs.com/0201zcr/p/4763806.html 作者:Whywin 1、氣泡排序 演算法如下(排序後,由小到大排列): /** * 氣泡排序 * 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
js排序演算法之氣泡排序
//功能:氣泡排序 //引數:arr, 待排序陣列 //返回:arr1,排序後陣列 function bubbleSort(arr) { var len = arr.length;
排序演算法---之交換排序(氣泡排序&快速排序-左右指標法,挖坑法,前後指標法)
排序演算法----交換排序(氣泡排序&快速排序) 一、排序演算法分為: 1.插入排序(直接插入排序&希爾排序) 2.選擇排序(直接選