栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺序表按段删除

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺序表按段删除

设计一个算法,从一给定的顺序表L中删除下标i~j(i<=j,包括i、j)的所有元素,假定i、j都是合法的。

c语言

#include

int deleteElemij(int sqList[], int &length, int i,int j)
{
	if (i<0 || j>length - 1)
		return 0;
	int c = j - i + 1;

	for (int n = i-1; n < length ; ++n)
		sqList[n] = sqList[n + c];
	length = length - c;
	return 1;
}

int main()
{
	int A[] = {1,2,3,4,5,6,7,8,9,10};
	int length = 10;
	deleteElemij(A, length, 3, 5);
	for (int i = 0; i < length; ++i)
		printf("%d ",A[i]);
	return 0;
}

c++

#include
using namespace std;
void del(int arr[],int &length,int i,int j)
{
	int k, delta;
	delta = j - i + 1;
	for (k = j + 1; k < length; ++k)
		arr[k - delta] = arr[k];
	length = length - delta;
}
int main()
{
	int A[] = { 1,2,3,4,5,6,7,8,9,10 };
	int length = 10;
	del(A, length, 3, 5);
	for (int i = 0; i < length; ++i)
		cout << A[i] << " ";
	cout << endl << length;
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/304452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号