C++:删除一组数值中重复的部分,得到没有重复的数值

C++:删除一组数值中重复的部分,得到没有重复的数值

正好用到了就来写写。

有数组
string A[10] = {“A”,“B”,“B”,“C”,“A”,“D”,“E”,“D”,“B”,“C”};
string B[8];
思想:准备一个用于接收去重复后数值的数组B,写一个循环,当第一执行时,将A[0]装入B[0]中,第二次执行时,内嵌一个循环,将A[i] (i是循环变量)数组中等于B[0]的数值都清空,也就是当A数组的"A"装入B数组中,同时把A数组中的所有"A"值,清空。

代码如下,在VS2019上正常运行

#include <iostream>
#include <string>
using namespace std;
int main()
{
    
    
 int n = 0;
 string A[10] = {
    
    "A","B","B","C","A","D","E","D","B","C"};
 string B[8];
 for (int i = 0; i < 10; i++)
 {
    
    
  if (i == 0)
  {
    
    
   B[i] = A[i];
   n++;
  }
  if (i != 0 && A[i] != "NULL")
  {
    
    
   for (int j = 0; j < 10; j++)
    if (A[j] == B[n - 1])
     A[j] = "NULL";
   for (int i = 0; i < 10; i++)
   {
    
    
    if (A[i] != "NULL")
    {
    
    
     B[n] = A[i];
     n++;
     break;
    }
   }
  }
 }
 for (int i = 0; i < 8; i++)
 {
    
    
  cout << B[i] << endl;
 }
 cin.get();//暂停等待输入
}

猜你喜欢

转载自blog.csdn.net/liangzixx/article/details/107617221