首页 > 代码库 > 26、删除有序数组中的元素,数组仍然有序

26、删除有序数组中的元素,数组仍然有序

删除有序数组中的元素,数组仍然有序

方法一:

删除一个有序数组的一个元素,采用两个数组实现
代码实现:
/*
	2017年6月19日16:16:31
	功能:删除数组中一个数据之后数组依然有序
*/
#include"stdio.h"
#define M 9

int main()
{
	int a[M] = {1,2,3,4,5,6,7,8,9};
	int b[M-1];
	int i, j, num;
	bool flag;
	printf("请输入将要删除的数据的数值:");
	scanf("%d",&num);

	for( i = 0; i < M ; i++)
	{
		if(a[i]==num)
		{
			flag = true;
			break;
		}
		
	}

	if(flag == true)
	{
		for( j = 0 ; j < i ;j++)
		{									//该数的前面的数
			b[j] = a[j];
		}
		for( j = i ; j < M-1 ;j++)
		{									//该数的后面的数
			b[j] = a[j+1];
		}
		printf("新的数组数据成员:");
		printf("\n");
		for(int n = 0; n < M-1; n++)
		{
			printf("%d\t",b[n]);
		}
		printf("\n");
	}
	else
	{
		printf("数组中不存在该数值!!!\n");
	
	}
return 0;
}
/*
	总结:
	在VC++6.0中的显示结果为:
	——————————————————————————————————————
	请输入将要删除的数据的数值:10
	数组中不存在该数值!!!

	请输入将要删除的数据的数值:6
	新的数组数据成员:
	1       2       3       4       5       7       8       9
	——————————————————————————————————————
	在两个数组中完成的操作
*/

 

方法二:

删除一个有序数组的指定元素,采用两个数组实现
代码实现:

 

26、删除有序数组中的元素,数组仍然有序