编写一个将整条链表翻转过来的小程序。
任务:
编写一个程序,建立一个能存放int型数据的链表;
设计一个函数reverse实现将这条链表逆转过来,即将原来的表头变成表尾,原来的表尾变成表头;
在主函数中实现:
用户输入链表结点个数;依次输入各结点整数值;调用函数reverse,然后遍历并打印逆转后的链表结点整数值。
比如: 用户输入”3 7 8 9” (表示链表结点数3,整数值依次是7 8 9),那么程序应该输出”9 8 7”
效果如下:
输入:
3 7 8 9
输出:
9 8 7
//不使用链表
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=n-1;i>=0;i--)
{
cout<<a[i]<<" ";
}
}
或
#include <iostream>
using namespace std;
void reverse(int m[], int len)
{
for (int i=0;i<len/2;i++)
{
int tmp = m[i];
m[i] = m[len-1-i];
m[len-1-i] = tmp;
}
}
int main()
{
int n;
cin>>n;
int x[100];
for(int i=0;i<n;i++)
{
cin>>x[i];
if(i>=n)
{
break;
}
}
reverse(x, n);
for(int k=0;k<n;k++)
cout<<x[k]<<" ";
return 0;
}