21xrx.com
2025-04-15 00:58:20 Tuesday
文章检索 我的文章 写文章
如何在C++中删除数组末尾元素
2023-07-05 12:16:59 深夜i     27     0
C++ 删除 数组 末尾 元素

在C++中,删除数组末尾元素是一种常见的操作。但是,由于C++语言并没有内置的数组删除函数,因此需要使用其他技巧来实现这个任务。

有两种常用的方法可以实现数组的删除:使用动态数组或使用指针。

使用动态数组

动态数组是一种可动态调整大小的数组。可以使用C++中的向量(vector)来实现动态数组,vector提供了一个pop_back函数,可以轻松删除数组的末尾元素。

具体实现如下:

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int> arr; // 创建一个vector数组
  // 向数组中添加元素
  arr.push_back(1);
  arr.push_back(2);
  arr.push_back(3);
  arr.push_back(4);
  arr.push_back(5);
  cout << "Before deleting the last element" << endl;
  for(int i=0;i<arr.size();i++)
   cout << "arr[" << i << "]: " << arr[i] << endl;
  // 删除数组的末尾元素
  arr.pop_back();
  cout << "After deleting the last element" << endl;
  for(int i=0;i<arr.size();i++)
   cout << "arr[" << i << "]: " << arr[i] << endl;
  return 0;
}

在这个示例中,首先创建一个vector数组,然后使用push_back函数向其中添加5个元素。然后,使用pop_back函数删除了数组的末尾元素。最后,使用一个循环遍历vector数组并输出其元素。

使用指针

指针是C++中一种非常强大的数据类型,它可以指向数组中的单个元素。使用指针可以简单地删除数组的末尾元素。

具体实现如下:

#include<iostream>
using namespace std;
int main()
{
  int arr[5] = 2; // 创建一个数组
  int *ptr = arr + 4; // 创建一个指向最后一个元素的指针
  cout << "Before deleting the last element" << endl;
  for(int i=0;i<5;i++)
   cout << "arr[" << i << "]: " << arr[i] << endl;
  // 删除数组的末尾元素
  *ptr = NULL;
  cout << "After deleting the last element" << endl;
  for(int i=0;i<5;i++)
   if(arr[i]!=NULL)
     cout << "arr[" << i << "]: " << arr[i] << endl;
  return 0;
}

在这个示例中,首先创建一个大小为5的整数数组,数组中包含5个元素。然后,使用指针将指向最后一个元素。接下来,通过设置指向的元素为NULL来删除数组的末尾元素。最后,使用一个循环输出数组中的元素。

总结

在C++中,要删除数组的末尾元素,可以使用动态数组或指针。使用动态数组时,可以使用vector提供的pop_back函数。使用指针时,可以使用指针将指向数组中的最后一个元素,并通过将其设置为NULL来删除数组的末尾元素。

  
  
下一篇: Java编写PDF文件

评论区