1. 程式人生 > >JS快速排序之氣泡排序

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.選擇排序(直接選