您的位置:首页 > 其它

简单链表的建立

2016-05-01 10:00 239 查看
1、创建一个简单链表,新结点链入表头,最后输出链表。

#include <iostream>
using namespace std;
#define New(p) {p=(Node *)malloc(sizeof(Node));p->ch=getchar();p->next=NULL;}

typedef struct node
{
char ch;
struct node *next;
}Node;
//新结点链入表头
int main()
{
Node *first = NULL,*p;
char ch;
for(int i=0;i<10;i++)
{
New(p);
p->next = first;
first = p;
}
p = first;
while(p!=NULL)
{
printf("%c ",p->ch);
p = p->next;
}
system("pause");
return 0;
}

输入输出显示:



若输入的字符数大于10个,只取前10个。若小于10个,则不足的都是空字符。

2、创建一个链表,新结点链入表尾,最后输出链表。

#include <iostream>
using namespace std;
#define New(p) { p=(Node *)malloc(sizeof(Node));p->ch=getchar();p->next=NULL;}
typedef struct node
{
char ch;
struct node *next;
}Node;
//新结点链入表尾
int main()
{
Node *p1,*p2 = NULL,*head = NULL;//p1表示新建的结点,p2是p1的上一个结点,head是头结点
for(int i=0;i<10;i++)
{
New(p1);
if(head == NULL)
{
head = p1;
}
else
{
p2->next = p1;
}
p2 = p1;
}
while(head!=NULL)
{
cout<<head->ch<<" ";
head = head->next;
}
system("pause");
return 0;
}
输入输出显示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: