带头结点头部插入创建链表
生活随笔
收集整理的這篇文章主要介紹了
带头结点头部插入创建链表
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*創(chuàng)建一個(gè)帶頭結(jié)點(diǎn)的鏈表,頭部插入法創(chuàng)建*/
#include<stdio.h>
#include<stdlib.h>#define DataType chartypedef struct node
{DataType data;struct node *next;
}ListNode,*LinkList;/*創(chuàng)建一個(gè)帶頭結(jié)點(diǎn)的鏈表*/
LinkList createLinkList()
{char ch;LinkList temp,head = (ListNode*)malloc(sizeof(ListNode));head->next = NULL;puts("\n輸入鏈表節(jié)點(diǎn)的數(shù)值:");while((ch = getchar()) !='\n'){temp = (ListNode*)malloc(sizeof(ListNode));if(!temp) exit(0);temp->data = ch;temp->next = head->next;head->next = temp;}return head;
}
/*在鏈表的結(jié)尾出插入新節(jié)點(diǎn)*/
void insertLinkList(LinkList head,DataType item)
{LinkList p,temp = (ListNode*)malloc(sizeof(ListNode));temp->data = item;temp->next = NULL;if(!temp) exit(0);p = head;while(p->next)p = p->next;p->next = temp;
}void print(LinkList head)
{LinkList p = head->next;while(p){printf("%c",p->data);p = p->next;}putchar(10);
}
void destroyLinkList(LinkList head)
{LinkList p,q;p = head->next;while(p){q = p->next;free(p);p = q;head->next = q;}
}
int main()
{char ch;LinkList head;head = createLinkList();print(head);puts("\n輸入要插入的元素值:");ch = getchar();getchar();insertLinkList(head,ch);print(head);destroyLinkList(head);return 0;
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/plxx/p/3485218.html
總結(jié)
以上是生活随笔為你收集整理的带头结点头部插入创建链表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javascript arguments
- 下一篇: [单选]物联网产业链的主要产品不包括下列