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