单链表的一些细节
2016-07-21 00:00
218 查看
摘要: 单链表
去年的秋天,用js梳理了一下数据结构。
那么这个夏天,一起用C语言来品味一下数据结构之美吧。
下面这段程序就是单链表的建立函数。
里面的细节主要在于创建链表中的节点node,然后用指针将这些节点进行衔接。
需要注意的是,头节点的初始化:
节点指针的移动:
以及对于边界条件的处理:
整体程序如下:
去年的秋天,用js梳理了一下数据结构。
那么这个夏天,一起用C语言来品味一下数据结构之美吧。
下面这段程序就是单链表的建立函数。
里面的细节主要在于创建链表中的节点node,然后用指针将这些节点进行衔接。
需要注意的是,头节点的初始化:
head=(node*)malloc(sizeof(node));
节点指针的移动:
p->next=s; p=s;
以及对于边界条件的处理:
head = head->next; p->next = NULL;
整体程序如下:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
typedef struct student
{
int data;
struct student *next;
}node;
node *creat()
{
node *head,*p,*s;
int x,cycle=1;
head=(node*)malloc(sizeof(node));
p=head;
while(cycle)
{
cout<<"\n please input the data: ";
cin>>x;
if(x!=0)
{
s=(node *)malloc(sizeof(node));
s->data = x;
cout<<"\n"<<s->data;
p->next=s; p=s;
}
else
{
cycle=0;
}
}
head = head->next; p->next = NULL;
cout<<head->data;
return head;
}
相关文章推荐
- C#实现单链表(线性表)完整实例
- C#定义并实现单链表实例解析
- C#数据结构之单链表(LinkList)实例详解
- C语言实现单链表逆序与逆序输出实例
- C语言单链表常见操作汇总
- C数据结构之单链表详细示例分析
- C++中单链表的建立与基本操作
- 深入单链表的快速排序详解
- C语言创建和操作单链表数据结构的实例教程
- JS使用单链表统计英语单词出现次数
- C语言单链表的实现
- php单链表实现代码分享
- 浅谈PHP链表数据结构(单链表)
- PHP单链表的实现代码
- java实现单链表中是否有环的方法详解
- Java单链表的实现代码
- java实现单链表、双向链表
- Java单链表基本操作的实现
- Python单链表的简单实现方法
- Python单链表简单实现代码