博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C基础--单链表的构造
阅读量:5165 次
发布时间:2019-06-13

本文共 2438 字,大约阅读时间需要 8 分钟。

#include 
#include "link.h"void print_item(link p){ printf("%d\n", p->item);}int main(void){ link head, p; //struct node *head; link_init(&head); //head => NULL p = make_node(3); link_insert(&head, p); //头插法 p = make_node(5); link_insert(&head, p); //头插法 p = make_node(1); link_insert(&head, p); //头插法 p = make_node(8); link_insert(&head, p); //头插法 link_travel(&head, print_item); //遍历打印链表数值域 printf("***************\n"); p = link_search(&head, 1); if (p != NULL) { link_delete(&head, p); free_node(p); } link_travel(&head, print_item); //遍历打印链表数值域 link_destory(&head); return 0;}
#include 
#include
#include "link.h"void link_init(link *head) //struct node **head = &head{ //head = NULL; *head = NULL;}link make_node(int item){ //link p = (link *)malloc(sizeof(struct node)); link p = (link)malloc(sizeof(*p)); p->item = item; //(*p).itme = item; p->next = NULL; //#define NULL (void *)0 return p;}void link_insert(link *head, link p) //头插法{ p->next = *head; *head = p;}link link_search(link *head, int key){ link p; for (p = *head; p != NULL; p = p->next) if (p->item == key) return p; return NULL;}void link_delete(link *head, link q){ link p; if (q == *head) { *head = q->next; return; } for (p = *head; p != NULL; p = p->next) if (p->next == q) { p->next = q->next; return; }}void free_node(link p){ free(p);}void link_modfie(link p, int key){ p->item = key;}void link_destory(link *head){ link p= *head, q; while (p != NULL) { q = p->next; free(p); p = q; } *head = NULL;}void link_travel(link *head, void (*vist)(link)){ link p; for (p = *head; p != NULL; p = p->next) vist(p);}
#ifndef _LINK_H_#define _LINK_H_typedef struct node *link;struct node {    int item;    link next;        //struct node *next;};void link_init(link *head);link make_node(int item);void link_insert(link *head, link p);link link_search(link *head, int key);void link_delete(link *head, link p);void free_node(link p);void link_modfie(link p, int key);void link_destory(link *head);void link_travel(link *head, void (*vist)(link));#endif

 

转载于:https://www.cnblogs.com/zhuyaguang/p/4840944.html

你可能感兴趣的文章
经验人士的IOS APP设计心得
查看>>
teleport使用说明
查看>>
IdentityServer4 登录使用数据库
查看>>
从PDF中提取信息----PDFMiner
查看>>
极简Node教程-七天从小白变大神(一:你需要Express)
查看>>
Windows环境配置Apache+Mysql+PHP
查看>>
内网端口映射详解(花生壳)
查看>>
回调和回显有什么区别?
查看>>
业务逻辑与数据解耦+单元测试
查看>>
mysql数据备份
查看>>
Ural Timus 1009 K-based Numbers (dp+矩阵快速幂+快速乘)
查看>>
[经验总结] 从其它sheet页引用数据生成图表时没有图例的解决办法
查看>>
RabbitMQ(消息队列)私人学习笔记
查看>>
webApp开发
查看>>
Flask-Web开发(第一部分)
查看>>
程序猿,你也配吃10元的盒饭?
查看>>
zkw线段树模板练习。
查看>>
js生成随机数的方法实例总结
查看>>
C#小程序飞行棋地图绘制
查看>>
JVM(虚拟)内存中的堆和栈
查看>>