输入一个整型数组,输出该数组的主要元素,如果不存在主要元素,则输出-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 容器 复杂度