在没有位置的数组中添加一个元素

add an element in an array without position

本文关键字:元素 一个 添加 位置 数组      更新时间:2023-10-16

我的问题是我想添加一个元素而不询问用户其元素。我只是想添加一个元素,当我打印所有元素时,包括添加的元素也打印出来,而不是先问它的位置和所有。

int num,pos;
cout<<"Enter another element: ";
cin>>num;
cout<<"Enter position number: ";
cin>>pos;
cout<<endl;

for(int i=po; i>=pos; i--)
    a[i+1]=a[i];
a[pos]=num;
po++;
cout<<"New Array: "<<endl;
for(int i=0; i<po; i++)
    cout<<"Element at position "<<i+1<<" is "<<a[i]<<endl;

如果想要一个类似数组的容器,在插入项时动态调整大小,可以使用std::vector。要在固定大小的数组中自己实现类似的东西,您需要做簿记。跟踪你当前的插入位置,这样你就知道哪些元素已经被使用了,哪些是空闲的。

同样,如果你想在前面插入,使用链表。或者使用在末尾添加的数组,这样元素以相反的顺序存储。要打印它们,按反向顺序遍历数组(从pos0)

重新排列每个元素以插入新的第一个元素是缓慢的,在通常情况下这样做是一个糟糕的设计。