C++ 一种逻辑清晰的解法 利用vector 和 判断重复,判断重复是自己做的,判断重复是否有更好的解法或工具

#include<vector>
//利用vector容器
using namespace std;
int main()
{
    int taget,m=0,i=0,flag=0,j=0;//flag用于判断是否重复
    int b[10]={0,0,0,0,0,0,0,0,0,0};//用于判断是否重复
    vector<int> T;
    cin>>taget;
    while(taget/10!=0 || (taget>0&&taget<10))//全部包含
    {
        flag=0;  //默认不重复
        m=taget%10;//取数
        taget/=10;
        for(i=0;i<10;i++)
        {
          if(m==b[i]) 
          {
              flag=1;//重复
              break;
          }
        }
        if(flag==0)//不重复
        {
            if(j<10)
            {
                b[j]=m;
                j++;
            }
            T.push_back(m);
        }
    }    
     for(vector<int>:: iterator it=T.begin();it!=T.end();it++)//输出vector
     {
         cout<<*it;
     }
}