65,211
社区成员
发帖
与我相关
我的任务
分享
#define MAX 10000
using namespace std;
void main()
{
int i,j=0;
int bit_map[MAX]={0};
int a[] = {1,8,3,4,4,6,6,7,7,9};
int b[10]={0};
for(i=0;i<( sizeof(a)/sizeof(int) );i++)
{
if(bit_map[a[i]]==0)
{
b[j++]=a[i];
bit_map[a[i]]=1;
}
}
for(i=0;i<j;i++)
cout<<b[i]<<endl;
}
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
void output(int i_val)
{
cout << i_val << '\t';
}
int main()
{
int array[10]={1,8,3,4,4,6,6,7,7,9};
list<int> list_t(array,array+10); //用数组来初始化list_t
list_t.erase(unique(list_t.begin(),list_t.end()),list_t.end());//删除所有重复的元素
for_each(list_t.begin(),list_t.end(),output); //这里显示出删除后的数组元素
return 0;
}
int a[10] = { 1,8,3,4,4,6,6,7,7,9 };
vector<int> vec( a, a+10 );
sort( vec.begin(), vec.end() );
vec.erase( unique( vec.begin(), vec.end() ), vec.end() );
#include <iostream>
#include <vector>
#include <cstdlib>
#include <iterator>
using namespace std;
template<class Type>
vector<Type> GetUnique( vector<Type> vec )
{
vector<Type> vec_result;
sort( vec.begin(), vec.end() );
unique_copy( vec.begin(), vec.end(), back_inserter( vec_result ) );
return vec_result;
}
template<class Type, int Size>
vector<Type> GetUnique( Type array[Size] )
{
vector<Type> vec( array, array + Size );
vector<Type> vec_result;
sort( vec.begin(), vec.end() );
unique_copy( vec.begin(), vec.end(), back_inserter( vec_result ) );
return vec_result;
}
int main()
{
int a[10] = { 1,8,3,4,4,6,6,7,7,9 };
//vector<int> vec( a, a+10 );
//vector<int> vec_unique = GetUnique( vec );
vector<int> vec_unique = GetUnique<int, 10>( a );
copy( vec_unique.begin(), vec_unique.end(), ostream_iterator<int>( cout, "" ) );
//copy( vec.begin(), vec.end(), ostream_iterator<int>( cout, "" ) );
system( "pause" );
return 0;
}
#include <iostream>
using namespace std;
void move(int a[],int f,int d,int g)
{
while(f<g)
{
a[f-d]= a[f];
f++;
}
}
int main()
{
int array[10]={1,8,3,4,4,6,6,7,7,9};
int length=10;
int i;
int j,k=0;//k为连续重复的个数
int sum=0;
for(i=0;i <length;i++)
{
for(j=i+1;j <length;j++)//
{
if(array[i]==array[j])
{
cout<<"重复的数为:"<<array[i]<<endl;
k++;
sum++;
}
else
{
move(array,j+1,k,length); //前移重复元素后面的元素
length-=k;
}
}
}