shell程式設計實現冒泡 選擇 插入排序

2021-09-19 13:46:52 字數 1170 閱讀 1494

我正在上linux實用技術這門課,然後最後的實驗是

我選擇了冒泡選擇插入這三種相對簡單的。

各種演算法的具體描述可以參考一下

ok接下來的各個**

氣泡排序:

#!/bin/bash

echo "input a number list"

read -a arr

for (( i=0;i

dofor ((j=0;j

doif [[ $ -gt $ ]];

then

tmp=$

arr[j]=$

arr[j+1]=$tmp

fidone

done

echo "end:"

echo $

選擇排序:

#!/bin/bash

echo "input a number list"

read -a arr

for (( i=0;i

dom=i

for ((j=i+1;j

doif [[ $ -lt $ ]];

then

m=jfi

done

tmp=$

arr[i]=$

arr[m]=$tmp

done

echo "end:"

echo $

插入排序:(這個我網上找了好久,結果出來的都是shell排序= =)

#!/bin/bash

echo "input a number list"

read -a arr

for (( i=1;i

dofor (( j=i;j>0;--j ))

doif (( $

then

temp=$

arr[j]=$

arr[j-1]=$temp

else

break

fidone

done

echo "end:"

echo $

應該沒錯的吧,如果有錯希望大家指出

插入 冒泡 選擇與shell排序

插入 冒泡與選擇這三個排序演算法的平均時間複雜度都是o n 2 插入和冒泡的最優時間複雜度都是o n 選擇排序的最優時間複雜度還是o n 2 三者最差的時間複雜度都是o n 2 其中插入與氣泡排序是穩定的,選擇排序是不穩定的。排序演算法穩定,是指能保證排序前2個相等的數在序列的前後位置順序和排序後他...

C程式設計 排序(冒泡 選擇 插入) 冒泡

include intmain int n sizeof a sizeof int for int i 0 i n 1 i for i 0 i printf n a i return0 若檔案的初始狀態是正序的,一趟掃瞄即可完成排序。所需的關鍵字比較次數c和記錄移動次數m均達到最小值 cmin n ...

冒泡 選擇 插入

先講一下異或交換兩個值 如a 1101 b 1011 則異或運算有 1101 1011 0110 該值包括的是 只有a擁有的 只有b擁有的 也就是中間的兩個的11,左邊乙個是只有a擁有的,右邊乙個是b擁有的 a a b 只有a擁有的 只有b擁有的 b a b 只有a擁有的 只有b擁有的 只有b擁有的...