[求助]删除多余元素的算法.
求教: 已知一非递减顺序表,写一函数,删除表中多余的相同元素.求一好算法.
求教: 已知一非递减顺序表,写一函数,删除表中多余的相同元素.求一好算法.
2006-09-28 01:30
#include "stdio.h"
int test[15]={12,10,9,9,9,8,7,7,4,4,4,3,2,1,1};
/***************stnlcd***********
a:数组名
n:a的长度
返回:新数组的长度
要求a有序,否则该算法无效!
**************************/
int del(int* a,int n) {
int i,c=0; /*c为重复元素的个数*/
for(i=1;i<n;i++) {
if(a[i]==a[i-1]) ++c;
else if(c) a[i-c]=a[i];
}
return n-c;
}
main() {
int i,n=del(test,15);
for(i=0;i<n;i++) printf("%d ",test[i]);
}

2006-09-28 09:20
2006-09-28 10:15

2006-10-04 22:03

2006-10-05 15:53

2006-10-05 15:56

2006-10-05 16:00
2006-10-05 20:35
2006-10-23 16:49