|
发表于 2019-11-15 17:30:56
|
显示全部楼层
本帖最后由 jackz007 于 2019-11-15 17:32 编辑
- #include <stdio.h>
- int del_duplicate(int * d , int n)
- {
- int b , e , i , j , k , m ;
- for(m = n , i = 1 ; i < m ; i ++) {
- b = d[i - 1] ;
- for(j = i ; j < m ;) {
- for(e = 0 ; d[j] == b && j < m ; e ++ , j ++) ;
- if(e) {
- for(k = j - e ; k < m ; k ++) d[k] = d[k + e] ;
- m -= e ;
- } else {
- j ++ ;
- }
- }
- }
- return m ;
- }
- int main(void)
- {
- int a[] = {1 , 2 , 3 , 2 , 5 , 4 , 2 , 2 , 2 , 1 , 5 , 6} ;
- int k , n , m ;
- n = 12 ;
- m = del_duplicate(a , n) ;
- for(k = 0 ; k < m ; k ++) printf(" %d" , a[k]) ;
- return 0 ;
- }
复制代码
编译运行实况:
- C:\Bin>g++ -o x x.c
- C:\Bin>x
- 1 2 3 5 4 6
- C:\Bin>
复制代码 |
|