1. 程式人生 > >[程式設計題] 有趣的排序

[程式設計題] 有趣的排序

時間限制:1秒

空間限制:32768K

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


輸出描述:
輸出一個整數表示最少的操作次數。

輸入例子:
4
19 7 8 25
程式碼如下:
#include <iostream>

using namespace std;

#define MAX_NUM 50

int main(){
	int N;
	cin >> N;
	int num[MAX_NUM];
	int sortnum[MAX_NUM];
	for (int i = 0; i < N; i++){
		cin >> num[i];
		sortnum[i] = num[i];
	}
	for (int i = 0; i < N; i++){
		for (int j = i + 1; j < N; j++){
			if (sortnum[i]>sortnum[j]){
				int temp = sortnum[i];
				sortnum[i] = sortnum[j];
				sortnum[j] = temp;
			}
		}
	}
	int count = 0;
	for (int i = 0; i < N; i++){
		if (num[i] == sortnum[count])
			count++;
	}
	cout << N - count;
	return 0;
}
*從小到大排序,在未排序陣列中從第一個開始找,找完整個陣列,然後找到幾個,則幾個不用動。