本文主要是介绍数据结构实现以较高的效率实现删除线性表中元素值在x到y(x和y自定)之间的所有元素。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以较高的效率实现删除线性表中元素值在x到y(x和y自定)之间的所有元素。
#include<stdio.h>
#include<stdlib.h>#define X 10
#define Y 30
#define N 20int 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;for (i = j = 0; i < *n; i++)if (A[i] > y || A[i] < x) // 不在x到y之间,则保留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("%7d", 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);system("pause");return 0;
}
这篇关于数据结构实现以较高的效率实现删除线性表中元素值在x到y(x和y自定)之间的所有元素。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!