83.在数组中删除给出的数

原创 2015年07月07日 18:26:01

假定整数数列中的数不重复,并存放在数组中,函数fun的功能是:删除数列中值为x的元素,n中存放的是数列中元素的个数。


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define N 30
int  fun(int *a, int n, int x)
{
	int p = 0, i;
	a[n] = x;
	while (x != a[p])
		p = p + 1;
	if (p == n)
		return -1;
	else
	{
		for (i = p;i < n;i++)
			a[i] = a[i + 1];
		return n - 1;
	}
}
int main()
{
	int w[N] = { -3,0,1,5,7,99,10,15,30,90 }, x, n, i;
	n = 10;
	printf("The original data :\n");
	for (i = 0;i < n;i++)
		printf("%5d", w[i]);
	printf("\nInput x(to delete):");
	scanf("%d", &x);
	printf("Delete  :%d\n", x);
	n = fun(w, n, x);
	if (n == -1)
		printf("***Not be found !****\n\n");
	else
	{
		printf("The data after delete:\n");
		for (i = 0;i < n;i++)
			printf("%5d", w[i]);
		printf("\n\n");
		
	}
	system("pause");
	return 0;
}


线段树(带删除节点)

动态最值(minmax.Cpp/c/java) (空间限制128M) 有一个包含n个元素的数组,要求实现以下操作: DELETE k:删除位置k上的数。右边的数往左移一个位置。 QUERY...
  • Yuanchang_Best
  • Yuanchang_Best
  • 2014年10月04日 18:04
  • 934

【BZOJ 1858】【SCOI 2010】序列操作【区间线段树】

Descriptionlxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 ...
  • nixinyis
  • nixinyis
  • 2017年03月05日 12:08
  • 119

【线段树】动态最值

题目描述 有一个包含n个元素的数组,要求实现以下操作: DELETE k:删除位置k上的数。右边的数往左移一个位置。 QUERY i j:查询位置i~j上所有数的最小值和最大值。 ...
  • peter_819
  • peter_819
  • 2016年06月05日 16:22
  • 473

SCOI2006 整数划分

(同步个人博客 http://sxysxy.org/blogs/34 到csdn题目 http://www.lydsy.com/JudgeOnline/problem.php?id=1263大意是,将...
  • u013632138
  • u013632138
  • 2016年09月15日 11:06
  • 137

Hdu 5193 Go to movies Ⅱ(带删除数插入数的逆序数对,块状链表)

传送门:Hdu 5193 Go to movies Ⅱ 题意: 有n个人站成一排,每个人的身高为Hi。每次有人加入或者有人离开,就要判断有多少人站反了(i < j&&Hi>Hj) 第一...
  • acm_fighting
  • acm_fighting
  • 2016年09月14日 22:47
  • 323

【HDU5807 BestCoder Round 86D】【分步式DP 状态转化】Keep In Touch 三人起点(i,j,k)保持联络条件下行走路径数

Keep In Touch    Accepts: 22    Submissions: 280  Time Limit: 4000/2000 MS (Java/Others)   ...
  • snowy_smile
  • snowy_smile
  • 2016年08月07日 09:06
  • 1209

[LintCode] 落单的数II Single Number II

给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。 样例 给出 [1,2,2,3,4,4,5,3],返回 1和5 挑战 O(n)时间复杂度,O(1)的额外空...
  • wutingyehe
  • wutingyehe
  • 2016年04月07日 09:20
  • 335

落单的数 II

给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。 样例 给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4 挑战 一次遍历,...
  • brucehb
  • brucehb
  • 2015年09月09日 23:42
  • 795

C语言:【面试题】在二维数组中,每行每列都按照递增的顺序排序,判断数组中是否包含一个数。

#include #include #define ROW 3 #define COL 3 int Search_Target(int arr[], int x) {     int row = 0...
  • hanjing_1995
  • hanjing_1995
  • 2016年05月30日 17:14
  • 669

MINMAX问题

算法设计技巧与分析102页算法6.1 利用分治的思想从数组中找出最大值与最小值,时间复杂度为O(logn). 算法很简单就不多说了,直接上代码吧 /** * * @author yyd ...
  • yyd19921214
  • yyd19921214
  • 2015年08月01日 15:57
  • 555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:83.在数组中删除给出的数
举报原因:
原因补充:

(最多只允许输入30个字)