1. 程式人生 > >26、刪除有序數組中的元素,數組仍然有序

26、刪除有序數組中的元素,數組仍然有序

amp sca 代碼 bool style log 顯示 兩個 成員

刪除有序數組中的元素,數組仍然有序

方法一:

刪除一個有序數組的一個元素,采用兩個數組實現
代碼實現:
/*
	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、刪除有序數組中的元素,數組仍然有序