久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單向鏈表應用函數

作者:劉蕊飛   來源:本站原創   點擊數:  更新時間:2014年03月02日   【字體:

 注意:創建節點,一定要銷毀節點。

 

 

#include <stdio.h>

 

#include <stdlib.h>

 

typedef struct node{

 

       intdata;

 

       structnode *next;

 

} node_t;

 

// 創建節點函數

 

void *create(int size);

 

// 初始化鏈表

 

int init(node_t *head);

 

// 頭插入法

 

int insert_head(node_t *head,node_t *pn);

 

// 尾插入法

 

int insert_end(node_t *head,node_t *pn);

 

// 打印所有節點內容

 

void print(node_t *head);

 

// 銷毀所有節點

 

void destroy(node_t *head);

 

// 應用函數

 

// 創建長度為 len 的鏈表并輸入內容

 

int create_link(node_t *head,int len);

 

 

 

int main()

 

{

 

       node_t*head = NULL;

 

       intlen = 0;

 

 

 

       if(init(head= create(sizeof(node_t))) != 0){

 

              printf("初始化鏈表失敗\n");

 

              exit(0);

 

       }

 

       printf("長度:");

 

       scanf("%d",&len);

 

       create_link(head,len);

 

       print(head);

 

 

 

       destroy(head);

 

       free(head);

 

       head= NULL;

 

 

 

       return0;

 

}

 

// 創建節點函數

 

// 成功返回新節點首地址,失敗返回 NULL

 

void *create(int size)

 

{

 

       returncalloc(1,size);

 

}

 

// 初始化鏈表

 

// 0-成功 1-失敗

 

int init(node_t *head)

 

{

 

       if(NULL== head)

 

              return1;

 

       head->next= NULL;

 

 

 

       return0;

 

}

 

// 頭插入法

 

// 0-成功 1-失敗

 

int insert_head(node_t *head,node_t *pn)

 

{

 

       if(NULL== pn)

 

              return1;

 

       pn->next= head->next;

 

       head->next= pn;

 

 

 

       return0;

 

}

 

// 尾插入法

 

// 0-成功 1-失敗

 

int insert_end(node_t *head,node_t *pn)

 

{

 

       node_t*tail = NULL;

 

 

 

       if(NULL== pn)

 

              return1;

 

       tail= head;

 

       while(tail->next!= NULL)

 

              tail= tail->next;

 

       tail->next= pn;

 

       pn->next= NULL;

 

 

 

       return0;

 

}

 

// 打印所有節點內容

 

void print(node_t *head)

 

{

 

       node_t*cur = NULL;

 

 

 

       cur= head->next;

 

       while(cur!= NULL){

 

              printf("%d",cur->data);

 

              cur= cur->next;

 

       }

 

       printf("\n");

 

}

 

// 銷毀所有節點

 

void destroy(node_t *head)

 

{

 

       node_t*del =NULL,*n_node = NULL;

 

 

 

       del = head->next;

 

       while(del != NULL){

 

              n_node= del->next;

 

              free(del);

 

              del = n_node;

 

       }

 

       init(head);

 

}

 

// 應用函數

 

// 創建長度為 len 的鏈表并輸入內容

 

// 返回創建的節點數

 

int create_link(node_t *head,int len)

 

{

 

       inti = 0;

 

       node_t*n_node = NULL;

 

 

 

       printf("輸入 %d 個數:\n",len);

 

       for(i= 0;i < len;i++){

 

              n_node= create(sizeof(node_t));//創建新節點

 

              if(NULL== n_node)

 

                     returni;

 

              scanf("%d",&n_node->data); // 輸入數據

 

              insert_end(head,n_node);      // 插入鏈表

 

       }

 

 

 

       returni;

 

}

關閉窗口

相關文章

主站蜘蛛池模板: 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 自拍偷拍第一页 | 久久精品一区二区三区四区 | 日韩视频免费看 | 成人国产精品久久久 | 欧洲亚洲一区二区三区 | 四虎海外 | 国产在线小视频 | 一级黄色片网站 | 午夜ww| 日韩高清国产一区在线 | 粉嫩粉嫩芽的虎白女18在线视频 | 国产精品久久久久aaaa樱花 | 日韩a在线 | 亚洲视频精品 | 精品国产乱码久久久久久88av | 日本高清中文字幕 | 久久国产成人午夜av影院武则天 | 在线观看av网站永久 | 农夫在线精品视频免费观看 | 噜噜噜噜狠狠狠7777视频 | 成年人视频在线免费观看 | 一区二区三区在线观看免费视频 | 日本成人久久 | 成人激情视频免费在线观看 | 日韩中文久久 | 天天干视频在线 | 亚洲精品麻豆 | 国产清纯白嫩初高生在线播放视频 | 成人在线免费视频 | 在线观看精品 | 蜜桃av一区二区三区 | 亚洲欧美精品在线观看 | 日韩在线免费看 | 99热这里有精品 | 久久精品色欧美aⅴ一区二区 | 亚州精品天堂中文字幕 | 国产亚洲欧美另类一区二区三区 | av网站免费 | 国产美女视频黄a视频免费 国产精品福利视频 | 国产一区二区三区在线 |