【C++】用类来处理排序问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/82953080

运行环境:VS2017

由小到大排序

可以看出在主函数中所做的事:

(1)定义对象。

(2)向各对象发出“消息”,通知各对象完成有关任务。即调用有关对象的成员函数,去完成相应的操作。

(个人想法:如果有多个数组需要由小到大排序,使用类的话会比较方便吧,如果还是用C语言那种思路,每对一个数组排序,就要写一遍程序,这样会写大量的重复的代码,占空间,且可读性不强,如果使用类会方便很多!)

(3)主函数很简单,语句很少,大多数情况下,主函数中甚至不出现控制结构(判断结构和循环结构),而在成员函数中常会使用控制结构。

在面向对象的程序设计中,最关键的工作是类的设计。所有对数据的操作都体现在类中。

#include <iostream>
using namespace std;
class Array_sort
{
public:
	void set_value();
	void sort_value();
	void show_value();
private:
	int a[100];
	int n;
};
void Array_sort::set_value()
{
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
	}
}
void Array_sort::sort_value()
{
	int i, j, k,t;
	for (i = 0; i < n - 1; i++)
	{
		k = i;
		for (j = i + 1; j < n; j++)
		{
			if (a[j] < a[k])
			{
				k = j;
			}
		}
		if (k != i)
		{
			t = a[k]; a[k] = a[i]; a[i] = t;
		}
	}
}
void Array_sort::show_value()
{
	for (int i = 0; i < n; i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}
int main()
{
	Array_sort arr;
	arr.set_value();
	arr.show_value();
	arr.sort_value();
	arr.show_value();
	return 0;
}

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/82953080