Shell script programming (fast sorting), shell script programming sorting
#! /Bin/bash # implementation of fast sorting in shell script programming (using the rightmost element as the element) a = (8 5 10 3 2 93 4 1 2 3 40 9 61 8 6 29) # a = (0 0 0 0 1 2 3 3 4 4 8 28 30495 921 43716) temp = buff = # swap () {buff =$ {a [$1]} a [$1] =$ {a [$2]} a [$2] = $ buff} fun () {I =$ ($1-1) j = $1 temp =$ {a [$2]} if test $1-ge $2; thenreturn 2 fiwhile [$ j-le $2]; do [$ j-lt $2] & while [[$ {a [$ j]}-gt $ temp]; do j = $ ($ j + 1) donei = $ ($ I + 1) swap $ I $ jj = $ ($ j + 1 )) done fun 0 $ ($ i-1) fun $ ($ I + 2) $2} fun 0 15for (I = 0; I <16; I ++) {echo-n $ {a [$ I]} ""} echoexit 0
The following is the comparison code of C ++ quick sorting.
#include <iostream>using namespace std;void swap(int *a,int *b){int temp = *a;*a = *b;*b = temp;}void Grial(int a[],int x,int y){int i=x-1;int j=x;if(x>=y)return;int temp = a[y];while(j<=y){while(j<y&&a[j]>a[y])j++;i++;swap(&a[i],&a[j]);j++;}Grial(a,0,i-1);Grial(a,i+1,y);}int main(){int a[]={4,3,921,30495,28,43716,3,4,0,0,2,0,0,1,8,5};Grial(a,0,14);for(int i=0;i<15;i++){cout<<a[i]<<" ";}cout<<endl;}