请使用链表代替动态数组来修改一下代码
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n; //输入数组的大小 n
int *arr = new int[n]; //用动态数组来存储 n个元素
for(int i=0;i<n;i++) //输入这 n个元素的值,并存储到动态数组中去
cin>>arr[i];
for(int i=0;i<n-1;i++) //遍历这个动态数组,并打印出来每一个元素的值。
cout<<arr[i]<<" " ;
cout<<arr[n-1]<<endl ;
delete[] arr ; //释放动态分配的内存。
return 0 ; //代码修改如下:
#include <iostream>
#include <list> //引用list头文件
using namespace std;
int main() {
int n, x;
list<int> lst_num; //定义链表lst_num
cin >> n ;
for (int i = 0 ; i < n ; ++ i) {
cin >> x ;
lst_num.push_back(x); //将x添加到链表末尾
}
for (auto it = lst_num.begin(); it != lst_num.end(); ++ it) {
if (it == --lst_num.end()) { //如果是最后一个元素,不输出“ ”号 //--it 指向末尾前一位位置 cout << *it << endl ;
} else {
cout << *it << " " ; } } return 0 ; }
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。