码迷,mamicode.com
首页 > 编程语言 > 详细

c语言-单链表(一)

时间:2017-05-06 01:02:15      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:data   技术分享   struct   int   div   creat   bsp   i++   void   

定义节点:

typedef struct Node {
	int data;
	Node* pNext;
}NODE, *PNODE;

细节说明,PNode 就代表struct Node* ,上面的表单是也可以写成如下形式,含义是一样的

typedef struct Node {
	int data;
	Node* pNext;
}*PNODE,NODE ;

  

算法操作

1. 创建链表

//1.初始化链表
PNODE create_list(void) {
	int len,val;	
	printf("%s", "请输入你要生成链表的长度\n");
	scanf("%d", &len);
	PNODE pHead = (PNODE)malloc(sizeof(PNODE));//创建一个头结点
	PNODE pTail = pHead;//永远指向最后一个
	pTail->pNext = NULL;
	for (int i = 0; i < len; i++)
	{
		printf("请输入第%d个变量的数值 ", i);
		scanf("%d", &val);
		PNODE p = (PNODE)malloc(sizeof(PNODE));
		if (NULL == p) {
			printf("分配内存失败");
		}
		p->data = val;	
		p->pNext = NULL;

		pTail->pNext = p;//尾节点指向挂在Ptail上
		pTail = p;//pTail 就是尾节点了
	}
	return pHead;
}

2. 显示链表数据

//2.输出
void show_list(PNODE pHead) {
	PNODE p = pHead->pNext;//第一个节点地址
	while (p != NULL)
	{
		printf("%d\n", p->data);
		p = p->pNext;
	}
	printf("\n");
	return;
}

3. 运行测试

int main()
{
	PNODE pHead = NULL;//代表 Struct Node* pHead=NULL;
	pHead = create_list();//
	show_list(pHead);
	return 0;
}

  技术分享

 

c语言-单链表(一)

标签:data   技术分享   struct   int   div   creat   bsp   i++   void   

原文地址:http://www.cnblogs.com/clc2008/p/6815427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!