#include <iostream>
using namespace std;
//定义单链表
typedef struct Node
{
Node *next;
int data;
}Node, *LinkList;
//逆序输入
void CreateList1(LinkList &L, int n)
{
// 逆序输入 n 个数据元素,建立带头结点的单链表
int i;
L = new Node;
if(!L)
exit(0);
L->next = NULL; // 先建立一个带头结点的单链表
for (i = n; i > 0; --i)
{
LinkList p=new Node;
cin>>p->data; // 输入元素值
p->next = L->next;
L->next = p; // 插入
}
}
//顺位序输入
void CreateList2(LinkList &L,int n)
{
LinkList p,q;
L=new Node;
if (!L)
{
exit(0);
}
L->next=NULL;
q=L;
for (int i=n;i>0;i--)
{
p=new Node;
cin>>p->data;
q->next=p;
q=q->next;
}
p->next=NULL;
}
//显示单链表中的元素
void Showdata(LinkList &L,int i)
{
LinkList p;
p=L;
for (int j=1;j<i;j++)
{
p=p->next;
}
cout<<(p->next)->data<<" ";
}
void main()
{
LinkList L;
cout<<"逆位序输入数字"<<endl;
CreateList1(L,10);
cout<<"输出结果是"<<endl;
for (int i=1;i<=10;i++)
{
Showdata(L,i);
}
cout<<"/"<<endl;
cout<<"正位序输入数字"<<endl;
CreateList2(L,10);
cout<<"输出结果是"<<endl;
for (int i=1;i<=10;i++)
{
Showdata(L,i);
}
}
单链表的正位序与逆位序输入
最新推荐文章于 2022-04-10 15:08:25 发布