Sort Algorithm-->Select Sort
Each traversal find the minimal element start from 1 to n,than compare with the index of i,i+1…n-1,if smaller than swap them or next traversal
"""
select sort
language:python3.5
author:zhoutonglx
"""
#original unsorted list
L = [3,44,38,5,47,15,36,26,27,2,46,4,19,50,48]
def SelectSort(L):
length = len(L)
for i in range(length-1) :
for j in range(i+1,length) :
if L[i]>L[j] :
L[i],L[j] = L[j],L[i] # like swap() in c++
print(L)
if __name__ == "__main__" :
SelectSort(L)
相關推薦
Sort Algorithm-->Select Sort
Each traversal find the minimal element start from 1 to n,than compare with the index of i,i+1…n-1,if smaller than swap them or nex
quick sort / quick select sort 快排 / 快速選擇排序
快速排序(快排)和快速選擇排序,是兩種平均時間複雜度非常高效的演算法,其中: 快排平均時間複雜度是O(nlogn),最壞時間複雜度是O( n2 n 2
Sort Algorithm-->Bubble Sort
Bubble sort: Everytime index start from left,compare two elements,if left element bigger then right element,than swap them, or ind
2 Select Sort
#include <stdio.h> void PrintArray(int *a, int len); int SelectSort(int *a, int len); int HeapSort(int *a, int len, int d); #define LENGTH 10 in
Implementing the Bubble Sort Algorithm using Golang
What Is Bubble Sort? Bubble sort is a sorting algorithm that sequentially goes through an array n times. Each time the algorithm runs through our
[Algorithm] Heap data structure and heap sort algorithm
Source, git Heap is a data structure that can fundamentally change the performance of fairly common algorithms in Computer Science. The heap data structu
資料結構與演算法---排序演算法(Sort Algorithm)
排序演算法的介紹 排序也稱排序演算法 (Sort Algorithm),排序是將一組資料,依指定的順序進行排列的過程。 排序的分類 1) 內部排序: 指將需要處理的所有資料都載入 到內部儲存器(記憶體)中進行排序。 2) 外部排序法:資料量過大,無法全部載入到內 存中,需要藉助外部儲存(檔案
Java的陣列和list升序,降序,逆序函式Collections.sort和Arrays.sort的使用
list升序,降序,逆序List<Integer>list =new ArrayList<Integer>();//如果list是 5 7 2 6 8 1 41、升序:Collections.sort(list) //list: 1 2 4 5 6 7 82、降序:Collection
Java8 Collections.sort()及Arrays.sort()中Lambda表示式及增強版Comparator的使用
本文主要介紹Java8 中Arrays.sort()及Collections.sort()中Lambda表示式及增強版Comparator的使用。 import com.google.common.collect.Lists; import org.junit.Assert
280. Wiggle Sort/324. Wiggle Sort II
ron correct pre 如果 += == div cond pri 280 Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2]
Collections.sort()和Arrays.sort()排序演算法選擇
今天面試的時候,被問到Collections.sort();和Arrays.sort();兩個方法的排序演算法實現,我只記得一個是快速排序一個是歸併排序,但是剛剛看到沒那麼簡單。 Arrays.sort() 先來看看Arrays.sort();,一點進這
Timsort原理介紹(merge sort 與 insertion sort的結合)
Timsort是結合了合併排序(merge sort)和插入排序(insertion sort)而得出的排序演算法,它在現實中有很好的效率。Tim Peters在2002年設計了該演算法並在Python中使用(TimSort 是 Python 中 list.sort
Insertion sort and Merge sort
Insertion sort(直接插入排序) pseudocode: insertion sort (a,n) for j = 2 to n key = a
JAVA Arrays.sort()和Collectons.sort() 原理分析
今天終於答辯結束,I’M FREEDOM!!! ^—^ 首先Collections內部也是使用Arrays的sort實現的,因此著重分析Arrays類內的sort是如何實現的 主要分兩種: 對於基本型別,使用調優的快排,雙指標快排 對於引用型別,採用改進
jdk7中Arrays.sort()和Collections.sort()排序方法使用注意
1. 為什麼寫這篇文章 這篇文章的根源是在產品中發現了一個詭異的bug:只能在產品環境下重現,在我的本地開發環境無法重現,而雙方的程式碼沒有任何區別。最後用remotedebug的方法找到異常所在: Exception in thread "main"Java.la
Insertion Sort 與 Merge Sort的性能比較(Java)
復雜 隨機 lse ons spa tar ray tostring style public static void main(String[] args) { Scanner input = new Scanner(System.
C++ algorithm 標頭檔案 定義的 sort() 實現絕對值排序
Problem Description 輸入n(n<=100)個整數,按照絕對值從大到小排序後輸出。題目保證對於每一個測試例項,所有的數的絕對值都不相等。 Input 輸入資料有多組,每組佔一行,每行的第一個數字為n,接著是n個整數,n=0表示輸入資料的結束,不做處理。
排序演算法(sorting algorithm)之 插入排序(insertion sort)
https://en.wikipedia.org/wiki/Insertion_sort loop1: 4,6,1,3,7 -> 4,6,1,3,7 loop2: 4,6,1,3,7 -> 4,1,6,3,7 &nb
PAT (Basic Level) Practice 1015 德才論(algorithm sort(begin, end, compare), vector使用
乙級1015 閱讀理解題,讀懂就好 一共有四類學生“才德全盡”、“ 德勝才 ”、“ “才德兼亡”但尚有“德勝才” ”、“過線學生”,儲存資料的方法,可以用結構體陣列,也可以用vector(一種動態陣列)。前者寫起來程式碼量略多佔記憶體大,後者佔記憶體小,程式碼量少 每次將資料讀入
STL c++ algorithm--sort
標頭檔案#include<algorithm>常用sort函式:預設為升序序列 時間複雜度O(nlog2n)1)sort() //排序 2引數:sort(begin,end)、3引數:sort(begin,end,