欢迎光临散文网 会员登陆 & 注册

Chapter 2

2023-08-17 08:22 作者:就叫大嘴吧  | 我要投稿

从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。

#include<stdio.h>
#include<stdlib.h>

#define Max 100

struct SqList{
	int a[Max] = {3, 3, 5, 5, 5, 8, 8, 18};
	int length = 8;
};

// 有序表中删除重复元素 
void delete_duplicate(SqList &L){
	
	int i = 0;
	
	for(int j = 1; j < L.length; j++){
		// 前一个元素 与 当前元素 不相同 
		if(L.a[i] != L.a[j]){
			L.a[++i] = L.a[j];
		}
	}
	
	// 更新有序表长度 
	L.length = i + 1;
	
}

// 打印顺序表
void show(SqList s){
	if(s.length == 0){
		printf("线性表为空");
		return;
	}
	for(int i = 0; i < s.length; i++){
		printf("%d	", s.a[i]);
	}
	printf("\n"); 
}

int main(){
	
	SqList L;
	
	printf("删除前:"); 
	show(L);
	
	delete_duplicate(L);
	
	printf("删除后:");
	show(L);
	
	return 0;
}


Chapter 2的评论 (共 条)

分享到微博请遵守国家法律