我的问题是我想添加一个元素而不向用户询问它的元素。我只想添加一个元素,当我打印所有元素,包括添加的一个元素,而不是先询问它的位置和所有元素。
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;
答案 0 :(得分:0)
如果您希望在插入项目时动态调整大小的类似数组的容器,请使用std::vector。要在固定大小的数组中自己实现这样的事情,将需要进行簿记。跟踪当前的插入位置,以便了解哪些元素已被使用,哪些元素是免费的。
此外,如果要在前面插入,请使用链接列表。或者使用添加到末尾的数组,因此元素以相反的顺序存储。要打印它们,请以相反的顺序遍历数组(从pos
到0
。)
对每个元素进行混洗以插入新的第一个元素的速度很慢,在常见情况下这样做是一个糟糕的设计。