您的位置:首页 > 理论基础 > 数据结构算法

数据结构之简单链表(尾部插入数据)

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