c单链表小案例1
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct MyNode{
? int data;
? int * pNext;
}Node,*PNode;
PNode createLinkList();
void addEnd(PNode pNode,PNode newNode);
void show(PNode pNode);
void main()
{
? //初始化鏈表
? ?PNode phead = createLinkList();
? //輸出鏈表
? ?show(phead);
}
//創建一個鏈表
PNode createLinkList(){
? PNode phead;
? ?//定義頭結點
? //Node Phead ;
? phead = (Node * ) malloc(sizeof(Node));
? if(phead == NULL){
? ? printf("dont have enough space");
? ? exit(0);
? }
?phead->pNext = NULL;
? //初始化鏈表個數
? int number;
? printf("請輸入初始化鏈表的個數 : ");
? scanf("%d",&number);
? int i = 0 ;
? int temp;
? for(; i < number ; i++ ){
? ? PNode newNode = (Node * ) malloc(sizeof(Node));
? ? if(newNode == NULL){
? ? ? ? printf("dont have enough space");
? ? ? ? exit(0);
? ? }
? ? printf("請輸入第%d個的值 : ",i);
? ? scanf("%d",&temp);
? ? newNode->data = temp;
? ? newNode->pNext = NULL;
? ? //增加到鏈表的末尾
? ? addEnd(phead,newNode);
? }
return phead;
}
//將新增結點加入到鏈表最后面
void addEnd(PNode pNode,PNode newNode){ // ,PNode newNode
? ? while(pNode ->pNext != NULL){
? ? ? ?pNode = pNode->pNext;
? ? }
? ?pNode->pNext = newNode;
}
//輸出鏈表的值
void show(PNode pNode){
? ? printf("鏈表輸出為 : ");
? ? pNode = pNode->pNext;
? ? while(pNode != NULL){
? ? ? ? printf("%d ",pNode->data);
? ? ? ? ?pNode = pNode->pNext;
? ? }
}
#include <stdlib.h>
#include <malloc.h>
typedef struct MyNode{
? int data;
? int * pNext;
}Node,*PNode;
PNode createLinkList();
void addEnd(PNode pNode,PNode newNode);
void show(PNode pNode);
void main()
{
? //初始化鏈表
? ?PNode phead = createLinkList();
? //輸出鏈表
? ?show(phead);
}
//創建一個鏈表
PNode createLinkList(){
? PNode phead;
? ?//定義頭結點
? //Node Phead ;
? phead = (Node * ) malloc(sizeof(Node));
? if(phead == NULL){
? ? printf("dont have enough space");
? ? exit(0);
? }
?phead->pNext = NULL;
? //初始化鏈表個數
? int number;
? printf("請輸入初始化鏈表的個數 : ");
? scanf("%d",&number);
? int i = 0 ;
? int temp;
? for(; i < number ; i++ ){
? ? PNode newNode = (Node * ) malloc(sizeof(Node));
? ? if(newNode == NULL){
? ? ? ? printf("dont have enough space");
? ? ? ? exit(0);
? ? }
? ? printf("請輸入第%d個的值 : ",i);
? ? scanf("%d",&temp);
? ? newNode->data = temp;
? ? newNode->pNext = NULL;
? ? //增加到鏈表的末尾
? ? addEnd(phead,newNode);
? }
return phead;
}
//將新增結點加入到鏈表最后面
void addEnd(PNode pNode,PNode newNode){ // ,PNode newNode
? ? while(pNode ->pNext != NULL){
? ? ? ?pNode = pNode->pNext;
? ? }
? ?pNode->pNext = newNode;
}
//輸出鏈表的值
void show(PNode pNode){
? ? printf("鏈表輸出為 : ");
? ? pNode = pNode->pNext;
? ? while(pNode != NULL){
? ? ? ? printf("%d ",pNode->data);
? ? ? ? ?pNode = pNode->pNext;
? ? }
}
總結
- 上一篇: c语言 typedef的用法
- 下一篇: c单链表小案例2