链表的基本操作
发布日期:2021-05-07 15:25:23 浏览次数:20 分类:技术文章

本文共 2101 字,大约阅读时间需要 7 分钟。

一、创建单链表

/*list.h*/#ifndef __LIST_H__#define __LIST_H__#include "stdio.h"#include "stdlib.h"typedef struct ListNode {    int data;	struct ListNode *next;}stListNode;stListNode * Linklist_Create();void Linklist_Print(stListNode * pstHead);#endif/*list.c*/#include "list.h"/******************************************************************************************************函数名称: Linklist_Create函数功能: 入    参:出    参:返回  值:*******************************************************************************************************/void Linklist_Print(stListNode * pstHead){    stListNode * pstCurNode = NULL;	if (NULL == pstHead) {		printf("Empty List\n");	    return;	}	//pstCurNode = pstHead->next;	pstCurNode = pstHead;	while (NULL != pstCurNode) {		printf("%c\n",pstCurNode->data);		pstCurNode = pstCurNode->next;	}    return ;}/******************************************************************************************************函数名称: Linklist_Create函数功能: 入    参:出    参:返回  值:*******************************************************************************************************/stListNode * Linklist_Create(){	char ch;    stListNode *pstHead = NULL;	stListNode *pstCurNode = NULL;    stListNode *pstNewNode = NULL;    /*创建头节点*/	pstHead = (stListNode *) malloc(sizeof(stListNode));	if (NULL == pstHead) {		printf("Linklist_Init malloc fail\n");		return pstHead;	}	pstHead->data = '\0'; //头节点的数据域为无效值	pstHead->next = NULL;	/*pstCurNode 指向pstHead,pstCurNode移动,将将创建的节点串联起来*/	pstCurNode = pstHead;	/*创建数据节点*/    while((ch = getchar()) != '\n') {        pstNewNode = (stListNode *) malloc(sizeof(stListNode));	    pstNewNode->data = ch;	    pstNewNode->next = NULL;		printf("%c\n",pstNewNode->data);		pstCurNode->next = pstNewNode;		pstCurNode = pstNewNode;	}    /*返回链表头节点*/	return pstHead;}/*main.c*/#include "stdio.h"#include "math.h"#include "stdlib.h"#include "string.h"#include "list.h"stListNode * g_pstHead = NULL;int main (){    stListNode *pstHead = NULL;    //tHead = Linklist_Init();	pstHead = Linklist_Create();	Linklist_Print(pstHead);	printf("Hello world!\n");	system("pause");}

运行结果:

创建过程图示:

 

 

上一篇:CSDN 基础操作
下一篇:VS静态编译生成.exe可执行文件

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月16日 17时16分57秒