数据结构之简单链表(尾部插入数据)
2016-05-06 09:20
447 查看
#include #include #include typedef struct node { char key[255]; struct node *Next; }Node; void Insert(char *string,Node *head) { Node *L = NULL; Node *p = NULL; L = head; while (L->Next != NULL) { L = L->Next;//遍历找到尾节点 } p = (Node *) malloc (sizeof(Node));//开辟新的节点 strcpy(p->key,string);//赋值 p->Next = NULL;//设置为尾节点 L->Next = p;//挂在原来尾节点之后 } void Print_List(Node *head) { Node *p = head->Next; while(p != NULL)//遍历打印节点值 { printf("%s->", p->key); p = p->Next; } printf("\n"); } void createLinkListTail_temp( Node *list,char *string,int n) { if(n==0) return ; else{ n--; Insert(string,list); createLinkListTail_temp(list,string,n); } } int main() { int i=3; Node *head = (Node *)malloc(sizeof(Node)); head->Next = NULL;//建立空表头 createLinkListTail_temp(head,"hello",i); createLinkListTail_temp( head,"3",i); Print_List(head); return 0; } 原文地址:http://blog.csdn.net/cfan0801/article/details/7027577 ============================================================================= #include<stdio.h> #include<stdlib.h> #include <string.h> typedef struct node { char data[255]; struct node *next; }LNode,*LinkList; void printLinkListContent(LinkList list) { printf("list is:\n"); while(list) { printf("%s ",list->data); list = list->next; } printf("\n"); } void createLinkListTail(LinkList *list,char *string) { LinkList p,r; p = (LinkList)malloc(sizeof(LNode)); strcpy(p->data ,string); p->next = NULL; if((*list)) { r->next = p; } else { (*list) = p; } r = p; } int main() { LinkList list=NULL; createLinkListTail(&list,"hello"); createLinkListTail(&list,"world"); printLinkListContent(list); return 0; }
相关文章推荐
- 数据结构与算法:C++实现插入排序
- 数据结构与算法:C++实现选择排序
- 深入理解数据结构之链表
- 202Union
- 203MergeList
- 数据结构实验之链表四:有序链表的归并
- 数据结构_线性表_链式存储_单链表 的基本操作
- 第十、十一周数据结构代码
- 数据结构实验之链表三:链表的逆置
- SDUT 3401 数据结构实验之排序四:寻找大富翁 堆排序
- 有理有条地绘制立体图(利用数据结构)
- STL中map、set的数据结构及底层实现
- redis底层数据结构之intset
- 数据结构之二叉树的递归建立和遍历
- 数据结构实验之链表九:双向链表
- 共同学习Java源代码--数据结构--Collection接口
- 共同学习Java源代码--数据结构--开篇语
- 数据结构之排序
- 数据结构——队列
- 数据结构实验之链表七:单链表中重复元素的删除