谭浩强C++课后习题15——选择排序

谭浩强C++课后习题15——选择排序

题目描述:用选择法对10个整数排序。

算法思路:选择排序法是指每一轮选出最小的一个数字,然后与开头的数字进行交换,例如有10个数字,则第一轮是在10个数字中选出最小的数字,将这个最小的数字与第一个数字交换,第一个数字固定。第二轮从第二个数字开始,选出第二个数字到第十个数字中最小的数字与第二个数字交换,第二个数字确定,以此类推,确定到第九的数字的时候,最后一个数字也就确定,因此十个数字只需要进行九轮。

#include<iostream>
using namespace std;
void sort(int num[], int n) {
	int temp, mini;
	for (int i = 0;i < n - 1;i++) {
		mini = i;
		for (int j = i + 1;j < n;j++) {
			if (num[j] < num[mini])
				mini = j;
		}
		temp = num[i];
		num[i] = num[mini];
		num[mini] = temp;
	}
}
int main() {
	int n;
	cout << "输入数字个数:";
	cin >> n;
	int* num = new int[n];
	cout << "输入数组:";
	for (int i = 0;i < n;i++)
		cin >> num[i];
	sort(num, n);
	cout << "从小到大:";
	for (int i = 0;i < n;i++)
		cout << num[i] << " ";
	return 0;
}

运行结果:
在这里插入图片描述

发布了35 篇原创文章 · 获赞 35 · 访问量 606

猜你喜欢

转载自blog.csdn.net/weixin_45295612/article/details/105240379
今日推荐