首页 > 代码库 > C语言 · 删除重复元素
C语言 · 删除重复元素
算法提高 11-2删除重复元素
时间限制:10.0s 内存限制:256.0MB
问题描述
为库设计新函数DelPack,删除输入字符串中所有的重复元素。不连续的重复元素也要删除。
要求写成函数,函数内部使用指针操作。
要求写成函数,函数内部使用指针操作。
样例输入
1223445667889
样例输出
13579
样例输入
else
样例输出
ls
数据规模和约定
字符串数组最大长度为100。
1 /* 2 思路: 3 将字符串存入字符数组a中,设将值拷贝给数组b,遍历b的每个元 4 素,与a中的每个元素比较,有相同则b中对应元素置为-1。 5 输出b中不为-1的元素。 6 */ 7 #include<stdio.h> 8 #include<string.h> 9 char a[100],b[100]; 10 void Del(int index,int len){ 11 for(int i=0;i<len;i++){ 12 if(index == i) continue;//下标相同即同一个元素不比较,进入下一个循环 13 if(b[index] == a[i]) b[index]=-1;//有相同元素,置值为 -1 14 } 15 } 16 int main(){ 17 gets(a); 18 memcpy(b,a,sizeof(a));//将a的元素拷贝给b 19 int len=strlen(a);//求a的长度 20 for(int i=0;i<len;i++){ 21 Del(i,len); 22 } 23 for(int i=0;i<len;i++){//输出b中非-1的元素 24 if(b[i]!=-1){ 25 printf("%c",b[i]); 26 } 27 } 28 return 0; 29 }
C语言 · 删除重复元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。