演算法提高 選擇排序

2021-07-26 05:36:54 字數 1034 閱讀 9678

演算法提高 選擇排序  

時間限制:1.0s   記憶體限制:256.0mb

 選擇排序

問題描述

排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下:有n個元素a[1],a[2],…,a[n],從小到大排序就是將它們排成乙個新順序a[i[1]]輸入格式

第一行乙個正整數n,表示元素個數

第二行為n個整數,以空格隔開

輸出格式

共n行,每行輸出第n步選擇時交換哪兩個位置的下標,以及交換得到的序列,格式:

swap(a[i],a[j]):a[0] … a[n-1]

i和j為所交換元素的下標,下標從0開始,最初元素順序按輸入順序。另外請保證i<=j

a[0]…a[n-1]為交換後的序列,元素間以乙個空格隔開

樣例輸入 5

4 3 1 1 2

樣例輸出

swap(a[0], a[2]):1 3 4 1 2

swap(a[1], a[3]):1 1 4 3 2

swap(a[2], a[4]):1 1 2 3 4

swap(a[3], a[3]):1 1 2 3 4

swap(a[4], a[4]):1 1 2 3 4

資料規模和約定

n<=100

整數元素在int範圍內

水題一道,列印selectsort的每步過程,注意列印格式即可

#include #define max 100 + 10

int a[max];

int findmin( int start, int n )

}return minindex;

}void swap( int i, int j )

void printarr( int x, int y, int n )

printf( "\n" );

}int main()

for( int i = 0; i < n; i++ )

return 0;

}

演算法提高 選擇排序

演算法提高 選擇排序 時間限制 1.0s 記憶體限制 256.0mb 提交此題 選擇排序 問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 a i 2 a i n i k 為這個新順序。...

演算法提高 選擇排序

選擇排序 問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 輸入格式 第一行乙個正整數n,表示元素個數 第二行為n個整數,以空格隔開 輸出格式 共n行,每行輸出第n步選擇時交換哪兩個位置...

演算法提高 選擇排序

題目鏈結 選擇排序 問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 include using namespace std void selectionsort int cur,int...