动态插入和删除整数
insert and delete integers on the fly
我是C++新手,我想知道您将如何从数组中即时插入和删除项目。例如:
>> insert(1)
[1]
>> insert(2)
[1,2]
>> delete()
[1]
目前我对任何图书馆都不感兴趣,我只想掌握C++的基础知识。我还应该提到,数组一开始就没有值。
由于您对 STL 容器不感兴趣(尽管我建议您研究一下例如 vector
(,因此声明一个您想要的任何最大大小的数组
int arr[10];
现在通过索引访问数组中的元素并分配值
arr[0] = 5; //indexes start from 0 and in this case till 9
或者将索引的变量保留为
int index = 0;
插入时,请使用:
arr[index] = value;
index++;
在使数组中的元素可用时,只需递减索引以点,即可自由填充后面的索引。
编辑:
请参阅下面的代码:
#include<iostream>
using namespace std;
int main()
{
int arr[10];
int choice;
int num;
int index = 0;
do
{
cout<<"enter you choice:n";
cout<<"1. add numbern";
cout<<"2. delete numbern";
cout<<"3. display memoryn";
cout<<"anything else to exitn";
cin>>choice;
switch(choice)
{
case 1:
if(index==10)
{
cout<<"no more space availablen";
}
else
{
cout<<"enter number: ";
cin>>num;
arr[index++] = num;
}
break;
case 2:
if(index==0)
{
cout<<"memory emptyn";
}
else
{
cout<<"item deleted!n ";
index--;
}
break;
case 3:
for(int i = 0;i<index;i++)
{
cout<<arr[i]<<'t';
}
cout<<endl;
break;
default:
cout<<"exiting.......";
}
}while(choice>0 && choice<4);
}
使用 std::vector
。
您可以使用push_back
插入矢量的背面,pop_back
删除最后一个元素。
举个例子:
#include <vector>
#include <iostream>
int main()
{
std::vector<int> numbers;
numbers.push_back(1)
numbers.push_back(2);
numbers.pop_back();
for (int i : numbers) { // c++11 range-based for loop
std::cout << i << 'n';
}
}
打印 1,如您的示例所示。
看看
std::vector
std::vector<int> arr;
arr.push_back(1);
arr.push_back(2);
arr.pop_back();
在C++的基础知识中,没有这样的事情,你必须使用库(当然,或者编写自己的库(。每个C++实现获得的标准库都有一个名为 std::vector
的类,它可以执行您想要的操作。
#include <vector>
int main()
{
std::vector<int> a;
a.push_back(1);
a.push_back(2);
a.pop_back();
}
相关文章:
- C++ 从链表中删除给定整数的倍数
- 为什么这个新的 [ ] 和删除 [ ] 实现会分解为 12 >整数?
- 从 C++ 中的数组中删除重复的整数
- 如何删除小于C 中x的数组中的整数
- bad_alloc::'标量删除析构函数'(无符号整数)当我尝试创建矢量 470MB 大小时
- C 从整数删除一个数字
- C++:如果我们在字符串中添加一些整数,为什么它会从开头删除该数量的字符?(字符串 + 整数)
- 从整数中删除前导 %
- 从另一组整数中有效地删除一组整数
- 是否删除整数的符号扩展
- 从数组中删除零,并根据新的元素数量调整数组大小
- C++字符串库,通过删除字符串中的整数来获取字符串
- 动态插入和删除整数
- 截断的整数除法删除
- 删除整数指针时析构函数末尾的分段错误
- 在C++中,从已排序的整数向量中搜索和删除元素的最快方法
- "LL"可以从硬编码的整数常量中删除,并替换为"static_cast<uint64_t>(...)"吗?
- 从整数向量列表中删除重复项的快速方法
- 删除链表中的元素时出现随机整数
- 在列表末尾插入一个整数,并在第n个位置删除