暑假程序设计实践

2、输入长度为 n 的整形数组,分别使用选择和冒泡排序进行排序。

代码:

#include
using namespace std;
void seletSort(int Array[], int n);
void dubbleSort(int Array[], int n);
void print(int Array[], int n);
//构造了三个函数分别用来选择排序、冒泡排序和打印数组。
int main() {
	int n;
	while(cin >> n&&n>0){
		int * Array = new int[n];
//利用new来实现动态数组
		for (int i = 0; i < n; i++) {
			cin >> Array[i];
		}
		seletSort(Array,n);
		print(Array, n);
}
	system("pause");
	return 0;
}
//冒泡排序
void dubbleSort(int Array[], int n) {
	int max = Array[0];
	int temp;
	for (int i = 0; i < n - 1; n--) {
		for (int j = 0; j < n-1; j++) {
			if (Array[j] > Array[j + 1]) {
				temp = Array[j];
				Array[j] = Array[j + 1];
				Array[j + 1] = temp;
			}
		}
	}
}
void print(int Array[], int n) {
	for (int i = 0; i < n; i++) {
		cout << Array[i] << " ";
	}
	cout << endl;
}
//选择排序
void seletSort(int Array[], int n) {
	int min = Array[0];
	int a,temp;
	for (int i = 0; i < n-1; i++) {
		min = Array[i];
		for (int j = i + 1; j < n; j++) {
			if (Array[j] < min) {
				min = Array[j];
				a = j;
			}
		}
		temp = Array[i];
		Array[i] = min;
		Array[a] = temp;
	}
}
//此题只需要明白冒泡排序和选择排序的原理即可

你可能感兴趣的:(暑假程序设计实践)