1. 程式人生 > >用python實現將陣列元素按從小到大的順序排列

用python實現將陣列元素按從小到大的順序排列

def findSmallest(arr):
    smallest = arr[0]#將第一個元素的值作為最小值賦給smallest
    smallest_index = 0#將第一個值的索引作為最小值的索引賦給smallest_index
    for i in range(1, len(arr)):
        if arr[i] < smallest:#對列表arr中的元素進行一一對比
            smallest = arr[i]
            smallest_index = i
    return smallest_index


def selectionSort(arr):
    newArr = []
    for i in range(len(arr)):
        smallest = findSmallest(arr)#一共要呼叫5次findSmallest
        newArr.append(arr.pop(smallest))#每一次都把findSmallest裡面的最小值刪除並存放在新的陣列newArr中
    return newArr
print(selectionSort([5, 3, 6, 2, 10]))

執行結果如下:

[2, 3, 5, 6, 10]


相關推薦

python實現陣列元素從小到大的順序排列

def findSmallest(arr): smallest = arr[0]#將第一個元素的值作為最小值賦給smallest smallest_index = 0#將第一個值的索引作為最小值的索引賦給smallest_index for i in

Java面試題:有陣列a[n],java程式碼陣列元素順序顛倒

Official Certification 鄧 斌,Tony,男,漢族,江西興國人,無黨派,研究生學歷。畢業於中國科學技術大學精密機械資訊工程專業,於2008年取得中國科學技術大學高階軟體工程專業工學碩士學位。先後在國內外知名網際網路企業做過資深軟體開發工程師、高階系

C#實現陣列元素排序(冒泡法)

昨天學習瞭如何用Split方法對陣列進行處理,還學習瞭如何用Array.Sort()方法對陣列進行排序,今天來研究下冒泡演算法 冒泡演算法(Bubble Sort)先畫表來說明下: 比如說,我們有個八

分治法查詢陣列元素的最值和最小值

#include "stdio.h" #include "stdlib.h" #include "time.h" #define ARRAY_SIZE 50 void FindMinMax (int *Array, int left, int right, int *min, int *max) {    

10.14 n個數輸入輸出順序的逆序排列函數實現

bdn r+ mvt b2c odr ack thp zip evb 將n個數按輸入輸出順序的逆序排列,用函數實現。 #include <stdio.h> int main(){ int n,i; void reverse(int * num

C語言實現三個數到小輸出。

temp clas 實現 ima 編程 程序 c語言實現 從大到小 code 這個題目用編程來實現非常簡單,由於我在上一篇博客中已經介紹過使用“冒泡排序”的方法。 所以我在這裏直接給出使用“冒泡排序”寫出的代碼: #include<stdio.h> int m

n個數輸入時順序的逆序排列,函式實現(指標)

#include <stdio.h> void reverse(int a[],int n) { int *p;   for(p=a+n-1;p>=a;p--)        &nb

練習三十二:python實現:相反的順序輸出列表的每一位值

用python實現:按相反的順序輸出列表的每一位值 1. 使用list[::-1] 1 list1 = ["one","two","three","four"] 2 for i in list1[::-1]:#list[::-1]結果為列表的反向 3 print(i) 2. 使用l

C++實現兩個元素相同但順序不同的等長陣列的正確匹配

《程式設計師面試寶典》第五版第96頁題目如下: 有兩等長陣列A,B,所含元素相同,但順序不同,只能取得A陣列某值和B陣列某值進行比較,比較結果為大於,小於,等於,但是不能取得同一陣列A或者B中兩個數進行比較,也不能取得某陣列中的某個值。寫一個演算法實現正確匹配

python實現一段程式碼,它的功能是自己列印

今天看到一道有趣的面試題,用python實現一段程式碼,然後將自己列印,其實很簡單 import sys   首先匯入 sys 模組 f_name = sys.argv[0]              sys.argv[ ]第一個元素是程式本身,sys.argv[0] 

c語言 利用指標變數,函式實現3個整數到小的順序輸出

                利用指標變數,用函式實現將3個整數按從大到小的順序輸出。 解:程式: #include&l

陣列元素迴圈右移k個位置(Java實現

用四種方法實現了將陣列元素迴圈右移k個位置,相關的解釋作為註釋放在程式碼裡面了。 package movearrayelement; import java.util.BitSet; public class MoveArrayElement { /** * 每次

Python實現返回陣列第i小的元素

#! /usr/bin/env python #coding=utf-8 #期望為線性時間的選擇演算法 import random class RandomSelect(object): def

最複雜的方式學會陣列Python實現動態陣列

Python序列型別 在本部落格中,我們將學習探討Python的各種“序列”類,內建的三大常用資料結構——列表類(list)、元組類(tuple)和字串類(str)。 不知道你發現沒有,這些類都有一個很明顯的共性,都可以用來儲存多個數據元素,最主要的功能是:每個類都支援下標(索引)訪問該序列的元素,比如使用語

python實現元素的長截圖

一.目標 瀏覽網頁的時候,看見哪個元素,就能擷取哪個元素當圖片,不管那個元素有多長   二.所用工具和第三方庫 python ,PIL,selenium pycharm 三.程式碼部分 長截圖整體思路: 1.獲取元素 2.移動,截圖,移動,截圖,直到抵達元素的底部 3.把截圖按照元素所在位置切割,

Drawable 實現Android UI 元素間距效果

purple 固定 展示 .com otto 技巧 log contain dev 源文地址: 巧用Drawable 實現Android UI 元素間距效果 在大部分的移動UI或者Web UI都是基於網格概念而設計的。這種網格一般都是有一些對其的方塊組成,然後

python實現LBP特征點計算

i+1 [0 code read cvt lena 實現 ims numpy 1 import cv2 2 import numpy as np 3 4 5 def olbp(src): 6 dst = np.zeros(src.shape,dty

21-城裏人套路深之python實現邏輯回歸算法

rom 成功 基礎知識 壓力 dvp ilb nbsp html 感覺 如果和一個人交流時,他的思想像彈幕一樣飄散在空中,將是怎樣的一種景象?我想大概會毫不猶豫的點關閉的。生活為啥不能簡單明了?因為太直白了令人乏味。保留一些不確定性反而撲朔迷離,引人入勝。我們學習了線性回歸

python實現歸並排序

想是 一個 pass 列合並 cnblogs plist post 思想 str def merge(lfrom, lto, low, mid, high): i, j, k = low, mid, low while i < mid and j &l