1. 程式人生 > >資料結構課後習題答案(P195)_第二題。

資料結構課後習題答案(P195)_第二題。

要求以較高的效率實現刪除線性表中元素值在x~y(x和y自定)之間的所有元素。

#include<stdio.h> 
#include<stdlib.h>
#define X 10
#define Y 30
#define N 20
int A[N]={2,5,15,30,1,40,17,50,9,21,32,8,41,22,49,31,33,18,80,5};
void  del(int *A,int *n,int x,int y)
{
	int i,j=0;
	for(i=0;i<*n;i++)
	{
		if(A[i]>y||A[i]<x)
		A[j++]=A[i];	
	}
	*n=j;
}
void output(int *A,int n)
{
	int i;
	printf("\n陣列有%d個元素:\n",n);
	for(i=0;i<n;i++){
		printf("%3d",A[i]);
		if((i+1)%10==0)
		printf("\n");
	}
	printf("\n");
 } 
int main()
{
	int n;
	n=N;
	output(A,n);
	del(A,&n,X,Y);
	output(A,n);
	return 0;
}

執行結果