hj8 合并表记录c++ 华为机试

思路

利用结构体完成的(c++后面的内容还没学)

struct List
{
	int index;
	int value;
};
#include<iostream>
#include<string>
using namespace std;
struct List
{
	int index;
	int value;
};
void BubbleSort(List a[], int n)
{
	bool ch = true;
	for (int j = 0; j < n - 1 && ch; ++j)
	{
		ch = false;
		for (int k = 0; k < n - j - 1; ++k)
		{
			if (a[k].index  > a[k + 1].index )
			{
				List max = a[k];
				a[k] = a[k + 1];
				a[k + 1] = max;
				ch = true;
			}
		}
	}
}

void test01()
{
	int n = 0;
	cin >> n;
	if (n >= 1 && n <= 500)
	{
		List* arr = new List[n];
		for (int i = 0; i < n && n != 0; ++i)
		{
			cin >> arr[i].index >> arr[i].value;
		}
		
		for (int i = 0; i < n; ++i)
		{
			for (int j = i; j < n; ++j)
			{
				if (arr[i].index == arr[j].index && i != j)
				{
					arr[i].value += arr[j].value;
					for (int k = j; k < n; ++k)
					{
						arr[k] = arr[k + 1];
					}
					--n;
					--j;
				}
			}
		}
		BubbleSort(arr, n);
		
		//cout << "输出" << endl;

		for (int i = 0; i < n; ++i)
		{
			cout << arr[i].index << " " << arr[i].value << endl;
		}
	}
	
}


int main()
{

	test01();
	system("pause");
	return 0;
}

全部评论
点赞 回复 分享
发布于 2023-05-29 14:34 安徽

相关推荐

不愿透露姓名的神秘牛友
09-18 14:26
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务