?? 習題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 + -