C语言二十二弹--有序数组合并

C语言实现有序数组合并

思路:使用一个极大的数组,将两个有序数组放入极大数组中,再对极大数组进行排序即可。

总代码

int main() {
	int n = 0, m = 0;
	int arr[1000];
	int i = 0, j = 0, tmp = 0;
	scanf("%d %d", &n, &m);//输入第一个数组和第二个数组的元素个数

	for ( i = 0; i < n; i++)//输入第一组数组元素 并直接存储在第三方数组中
	{
		scanf("%d", &arr[i]);
	}

	for (i = n; i < n + m; i++) //输入第二组数组元素 并直接存储在第三方数组n下标中
	{
		scanf("%d", &arr[i]);
	}

	//排序
	for ( i = 0; i < n+m; i++)
	{
		for ( j = 0; j < n+m - i - 1; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				 tmp = arr[j + 1];
				arr[j + 1] = arr[j];
				arr[j] = tmp;
			}
		}
	}
//打印数组
	for ( i = 0; i < n+m; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

你可能感兴趣的:(c语言,算法,数据结构)