📄 习题5-有序表中删除重复元素.c
字号:
#include "datastru.h"
#include <stdio.h>
main( )
{ SEQUENLIST a;
int i, k, m;
printf("请输入顺序表元素,元素为整型量,用空格分开,-99为结束标志 :");
a.last = 0; i = 0; scanf("%d",&i);
while (i != -99) {
/*输入顺序表元素,建成有序表*/
k = a.last;
while((k>=1) && ( i<a.datas[k])) k--;
for(m = a.last; m >= k+1; m--) a.datas[m + 1] = a.datas[m];
a.datas[k + 1] = i;
a.last++;
scanf("%d",&i); }
printf("\n删除前有序表元素列表 :");
for (i = 1; i <= a.last; i++)
printf("%d ",a.datas[i]);
printf("\n");
i = 1;
while (i < a.last){
/*删除有序表中重复元素,保留一个*/
while((i < a.last)&&(a.datas[i] == a.datas[i + 1]))
{ for(m = i; m < a.last; m++)
a.datas[m] = a.datas[m + 1];
a.last--;}
i++;
}
printf("\n删除后有序表元素列表 :");
for (i = 1; i <= a.last; i++)
printf("%d ",a.datas[i]);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -