JS使用sort方法實現氣泡排序和亂序
預設的sort排序依據是ASCⅡ碼,所以從小到大排列遇到11可能排在個位數前面去了。
因此在數字進行排序時,需要新增函式入口點到sort函式中,就是改變sort函式的排序依據,通過不同的函式入口點,實現不同的排序效果。這裡介紹一下氣泡排序和亂序。
var a1=[1,4,2,3,14];
alert("預設的排序結果:"+a1.sort());
alert("氣泡排序的結果"+a1.sort(myArraySortFun)); //輸出1,14,2,3,4
alert("氣泡排序的結果"+a1.sort('Math.random()>0.5?1:-1;')); //輸出亂序排列的陣列
//氣泡排序
function myArraySortFun(a,b){
console.log("my Array sort");
return a-b;
}
拓展:
需要生成n個不重複的字串時,先將備選字元存入字串str中,先打亂str的排序,然後從中擷取長度為n的子字串即可。
相關推薦
JS使用sort方法實現氣泡排序和亂序
預設的sort排序依據是ASCⅡ碼,所以從小到大排列遇到11可能排在個位數前面去了。 因此在數字進行排序時,需要新增函式入口點到sort函式中,就是改變sort函式的排序依據,通過不同的函式入口點,實現不同的排序效果。這裡介紹一下氣泡排序和亂序。 var a
用java實現氣泡排序和選擇排序
氣泡排序:依次比較兩個相鄰的元素,將值大的元素交換至右端,一輪比較過後,最大的元素在最右端。 public class BubbleSort { public static void main(String[] args) { int[] arr
C語言實現氣泡排序和簡單選擇排序
氣泡排序(Bubble Sort)的基本思想為兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序記錄為止。 其時間複雜度為O(n^2)。 簡單選擇排序(Simple Selection Sort)
js實現氣泡排序和快速排序
氣泡排序 1.比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 3.針對所有
java實現氣泡排序和快速排序
用java實現了氣泡排序和快速排序,冒泡還是比較簡單的,但快速排序採坑了,網上有很多程式碼是有問題的,最後通過分析和實踐,終於弄明白了,分享出來以供大家一起學習~~ 快速排序寫了2種實現方法,原理都是一樣的,快排的平均時間複雜度是O(N*logN) 實現思路
函式指標作為函式引數,實現氣泡排序的升序排序和降序排序
#include<stdio.h> #define N 10//定義陣列元素個數 int Ascending(int a,int b);//升序排列的函式宣告 int Descendin
氣泡排序和快速排序(java實現)
氣泡排序 Bubble Sort 在基於 “交換” 進行排序的方法中,氣泡排序是比較簡單的一種。 /** * 氣泡排序 * 時間複雜度為O(n^2),空間複雜度為O(1) */ public static int[] bubbleSort(int[] array){
氣泡排序和選擇排序演算法的實現(c/c++)
一 選擇排序: 選擇排序的工作原理是從 待排序的元素中選出最小或者最大的一個元素,存放在序列的起始位置,直到全部待排序的元素排完。這是一種不穩定的排序方法。比氣泡排序快。 二 氣泡排序: 氣泡排序重複訪問要排序的元素,依次比較兩個相鄰的元素。如果前一個元素大於
Java——用Java實現氣泡排序,選擇排序,快速排序和二分查詢
在學習C語言時,就有講過這三個排序演算法和二分查詢的演算法。 以下是用Java來實現氣泡排序(Bubble Sort)演算法,選擇排序(Selection Sort),快速排序(Quick Sort)和二分查詢(Binary Search) package pra_07;
Java——實現氣泡排序,選擇排序,快速排序和二分查詢
在學習C語言時,對排序演算法和二分查詢有一定的理解並進行了實現。 不過打算用Java重新實現一下氣泡排序(Bubble Sort),選擇排序(Selection Sort),快速排序(Quick Sort)和二分查詢(binary_search)。 package pra
氣泡排序和字串(String)物件及處理字串的方法
氣泡排序 第一種方法 var times=0; var arr=[12,3,6,9,77,37]; for(var i=0;i<arr.length-1;i++){ //控制比較的行數 for (var j=0;j<arr.length-i-1;j+
java實現將一列亂序的字元,'a','c','u','b','e','p','f','z',排序後並按照英文字母表的逆序輸出(陣列排序)
實現: package com.array.test; import java.util.Arrays; import java.util.Scanner; /** * 將一列亂序的字元,'a','c','u','b','e','p','f','z',排序後並按照英文字母表的逆
java實現將一列亂序的字元,'a','c','u','b','e','p','f','z',排序後並按照英文字母表的逆序輸出(陣列排序)
實現: package com.array.test; import java.util.Arrays; import java.util.Scanner; /** * 將一列亂序的字元,'a',
python實現氣泡排序演算法的方法
list = [] print('你想排列幾個數?') try: num = int(input()) for i in range(num): a = int(inpu
氣泡排序和選擇排序的實現與比較
氣泡排序: 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 針對所有的元素重複以上的步驟,除了最後一個。 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一
總結下js排序演算法和亂序演算法
其實本人最怕的就是演算法,大學演算法課就感覺老師在講天書,而且對於前端來說,演算法在實際的應用中實在是很有限。畢竟演算法要依靠大量的資料為基礎才能發揮出演算法的效率,就瀏覽器那效能,......是吧,退一萬步說,真的有人把這大量的資料處理業務放到前端,那我只能說這是團隊和架構師的失職,不說頁面應用能不能加
使用python實現冒泡排序和快速排序
code def bubble python實現 style range 交換 冒泡排序 sdn 1 def bubble(arr): 2 """冒泡排序""" 3 loop = len(arr) - 1 4 if loop > 0:
使用C語言和Java分別實現冒泡排序和選擇排序
都沒有 img 容易 n) 不穩定排序 實現 imp 結果 輸出 經典排序算法——冒泡和選擇排序法 Java實現冒泡排序 基本思想是,對相鄰的元素進行兩兩比較,順序相反則進行交換,這樣,每一趟會將最小或最大的元素放到頂端,最終達到完全有序,首先看個動圖: 我們要清楚一點,
氣泡排序和選擇排序的簡單使用
這裡主要介紹一下氣泡排序和選擇排序的簡單使用,給初學者一些參考,可能和別人的有點不一樣,這主要是我自己的一些思路,和別人是有一些出入的。 直接上程式碼,註釋在程式碼中: packag
JAVA中陣列氣泡排序和選擇排序
氣泡排序的思想:兩兩之間比較大小,小的數在前,大的數在後。共比較i-1次。 static void MaoPaoArray(int[] a) { for (int i = 0; i < a.length - 2; i++) { for (int j = 0; j <