【算法代码】
#include<iostream>
using namespace std;
/*typedef struct LNode {
char data;
struct LNode *next;
} LNode,*LinkList;*/
struct LNode{
char data;
LNode *next;
};
typedef struct LNode *LinkList;
void Head_Insert(LinkList &L,int n) { //头插法
L=new LNode; //生成头结点,用头指针L指向它
L->next=NULL;
for(int i=0; i<n; i++) { //头插法创建单链表
LinkList p;
p=new LNode;
cin>>p->data;
p->next=L->next; //以下2行是头插法的指针修改操作
L->next=p;
}
while(L->next) { //输出单链表中结点的值
cout<<L->next->data<<" ";
L->next=L->next->next;
}
}
int main () {
int n;
LinkList L;
cin>>n;
Head_Insert(L,n);
return 0;
}
/*
in:
7
a b c d e f g
out:
g f e d c b a
*/