热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言删除一维数组相同的数,c++向量删除元素

c语言删除一维数组相同的数,c++向量删除元素文章0背景1删除多维数组1.1方法1:遍历空1.2方法2:填充1.3方法3:memset1.4测试代码2删除多维向量在后台

  c语言删除一维数组相同的数,c++向量删除元素

  文章0背景1删除多维数组1.1方法1:遍历空1.2方法2:填充1.3方法3: memset 1.4测试代码2删除多维向量

  在后台0之前,经常操作一维数组或向量,但实际项目中有多维数组或向量,需要初始化清空操作。在网上查阅了一些资料,结合自己的实践,终于实现了清空操作。

  1删除多维数组以三维数组为例:双A[30][4][100];

  空操作:

  1.1方法1:遍历并清除for(int I=0;i 30i ){

  for(int j=0;j 4;j ){

  for(int k=1;k 100k ){

  a[I][j][k]=0.0;

  }

  }

  }

  1.2方法2:填充头文件:#include算法

  std:fill(A[0][0],A[0][0] 30*4*100,0.0);

  1.3方法3: memset头文件:#include字符串

  memset(A,0,sizeof(A));推荐,因为效率高,但是有些类型不能用,比如string类型string。

  1.4测试代码双A[30][4][100];

  for(int I=0;i 30i ){

  for(int j=0;j 4;j ){

  for(int k=1;k 100k ){

  a[I][j][k]=0.9;

  }

  }

  }

  //空的

  //for(int I=0;i i ){

  //for(int j=0;j j ){

  //for(int k=1;k 100k ){

  //A[I][j][k]=0.0;

  //}

  //}

  //}

  //memset(A,0,sizeof(A));

  std:fill(A[0][0],A[0][0] 30*4*100,0.0);

  //打印

  for(int I=0;i 30i ){

  for(int j=0;j 4;j ){

  for(int k=1;k 100k ){

  printf(%f\n ,A[I][j][k]);

  }

  }

  }

  2删除多维向量以二维向量为例:std: vector std: pair int,int a[10][100];

  for(int I=0;i 10i ){

  for(int j=0;j 100j ){

  for(std:vector std:pair int,int :iterator k=A[i][j]。begin();k!=A[i][j]。end();){

  k=A[i][j]。擦除(k);

  }

  }

  }测试代码:

  std:vector std:pair int,int A[10][100];

  for(int I=0;i 100i ){

  std:pair int,int b;

  b . first=1;

  b .秒=1;

  一个[0][我]。push _ back(b);

  一个[0][我]。push _ back(b);

  }

  for(int I=0;i 100i ){

  std:pair int,int b;

  b . first=2;

  b .秒=2;

  A[1][i]。push _ back(b);

  A[1][i]。push _ back(b);

  A[1][i]。push _ back(b);

  A[1][i]。push _ back(b);

  }

  //清除输出前的位数

  for(int I=0;i 10i ){

  for(int j=0;j 100j ){

  $ I之前的STD:cout # # #: I j: j - a[I][j]。size()“”;

  }

  STD:cout STD:endl;

  }

  for(int I=0;i 10i ){

  for(int j=0;j 100j ){

  for(std:vector std:pair int,int :iterator k=A[i][j]。begin();k!=A[i][j]。end();){

  k=A[i][j]。擦除(k);

  }

  }

  }

  //测试空位置。

  for(int I=0;i 10i ){

  for(int j=0;j 100j ){

  Std:cout @@@在-I: I J: J-A [I] [J]之后。size()“”;

  }

  STD:cout STD:endl;

  }



推荐阅读
author-avatar
Timma2116
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有