欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输入一个整型数组,输出该数组的主要元素,如果不存在主要元素,则输出-1,找出好的算法,需要考虑时间和控件复杂度;

程序员文章站 2024-03-15 22:47:42
...

排序以及一些其他的可以封装为函数。

#include<iostream>
using namespace std;

int main()
{
	int n = 0;
	cout << "请输入数组的大小" << endl;
	cin >> n;
	int *arry = new int[n];
	cout << "输入数组的元素" << endl;
	for (int i = 0; i < n; i++)
	{
		cin >> arry[i];
	}
	
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n-i; j++)
		{
			if (arry[j]<arry[j+1])
			{
				int temp = arry[j];
				arry[j] = arry[j + 1];
				arry[j + 1] = temp;
			}
		}
	}
	if (arry[n / 2] == arry[n / 2 + 1])
	{
		int mainelement = arry[n / 2];
		int i = 0;
		while (arry[i] != mainelement)
		{
			i++;
		}
		int strat = i;
		if (arry[strat + n / 2] == mainelement)
		{
			cout << mainelement << endl;
		}
		else
		{
			cout << -1 << endl;
		}
	}
	else
	{
		cout << -1 << endl;
	}
	return 0;
}
相关标签: 算法

上一篇: C++ stl 容器 复杂度

下一篇: