有趣的排序

2021-08-10 10:24:09 字數 831 閱讀 2174

有趣的排序

時間限制:1秒

空間限制:

32768k

度度熊有乙個

n個數的陣列,他想將陣列從小到大

排好序,但是萌萌的度度熊只會下面這個操作:

任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。

問最少操作多少次可以使得陣列從小到大有序?

輸入描述:

首先輸入乙個正整數

n,接下來的一行輸入

n個整數。

(n <= 50,

每個數的絕對值小於等於

1000)

輸出描述:

輸出乙個整數表示最少的操作次數。

輸入例子1:

4
19 7 8 25

輸出例子1:

2

解題思路:

已排序與未排序相比

1)用1個輔助陣列對所有元素進行排序(從小—)大)

2)從第1個排好序的元素(即最小值)開始,與未排序元素進行比較。順序掃瞄兩個陣列,統計出有多少個是有序的(位置可以不連續),即不需移動的元素個數count

3)一共有n個元素,所以需移動n-count次

#includeint main()

{ int n,a[50],sort[50],i,j,temp,count=0;

scanf("%d",&n);

for(i=0;isort[j+1])

temp=sort[j],sort[j]=sort[j+1],sort[j+1]=temp;

j=0;

for(i=0;i

有趣的排序

度度熊有乙個n個數的陣列,他想將陣列從小到大 排好序,但是萌萌的度度熊只會下面這個操作 任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。問最少操作多少次可以使得陣列從小到大有序?輸入描述 首先輸入乙個正整數n,接下來的一行輸入n個整數。n 50,每個數的絕對值小於等於1000 輸出描述 輸出乙個...

演算法題 有趣的排序

度度熊有乙個n個數的陣列,他想將陣列從小到大 排好序,但是萌萌的度度熊只會下面這個操作 任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。問最少操作多少次可以使得陣列從小到大有序?輸入描述 首先輸入乙個正整數n,接下來的一行輸入n個整數。n 50,每個數的絕對值小於等於1000 輸出描述 輸出乙個...

幾種有趣的不常見排序

幾種有趣的不常見排序演算法 我們常見的排序演算法有簡單選擇,冒泡,插入,兩路合併,希爾,堆,快速排序等等,下面介紹幾種不常見的排序演算法。雞尾酒排序 雞尾酒排序是氣泡排序的微調演算法。我們還記得,氣泡排序是每次遍歷整個序列,把較大的 我們這裡假設公升序排序 交換到後面。雞尾酒排序在交換到後面後,再逆...