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

已知L为非递减的顺序表,请设计算法删除L中重复的元素(即删除后使L表变为一递增表)。

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

已知L为非递减的顺序表,请设计算法删除L中重复的元素(即删除后使L表变为一递增表)。

#include 
#include 

#define OK 1;

typedef int status;
typedef int ElemType;

typedef struct
{
	ElemType *elem;
	int length;
	int listlize;
}SqList;

status InitList(SqList *L,int len)		
{
	L->elem = (int*)malloc(sizeof(int)*len);
	L->length = len ;
	return OK;
}

void DeleteList(SqList *L,int i)
{
	int *p;
	int *q;
	p = &(L->elem[i]);					
	q = L->elem + L->length - 1;			
	for (*p; p < q; p++)				
	{
		*p = *(p + 1);
	}
	--L->length;
}

int main(void)
{
	SqList L;
	int len,i;
	int *p, *q;
	printf("请输入你将要输入数字的个数:");
	scanf("%d", &len);
	InitList(&L, len);
	printf("输入您想输入的数值:");
	for (i = 0; i < len; i++)
	{
		scanf("%d", &L.elem[i]);
		printf(" ");
	}
	printf("n");
	p = L.elem; q = L.elem + 1;		
	i = 1;							
	while (L.length>i)				
	{
		if (*p == *q)				
		{
			DeleteList(&L, i);
		}
		else						
		{
			p++; q++; i++;
		}
	}
	printf("删改后的数据为:n");
	for (i = 0; i < L.length; i++)	
	{
		printf("%dt", L.elem[i]);
		
	}
	return 0;
}



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

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

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