自引用结构--之创建双向遍历的链表
代码:
1 //This is c program code! 2 /* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= 3 * 文档信息: *** :~/WORKM/stutyCode/cCode/recipesProblemSolution/chapter07/test707.c 4 * 版权声明: *** :(魎魍魅魑)MIT 5 * 联络信箱: *** :guochaoxxl@163.com 6 * 创建时间: *** :2020年11月28日的下午09:53 7 * 文档用途: *** :数据结构与算法分析-c语言描述 8 * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl) 9 * 修订时间: *** :2020年第47周 11月28日 星期六 下午09:53 (第333天) 10 * 文件描述: *** :自行添加 11 * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/ 12 #include <stdio.h> 13 #include <string.h> 14 15 typedef struct _memb{ 16 char name[20]; 17 struct _memb *forward; 18 struct _memb *backward; 19 } Memb; 20 21 void showForward(Memb *start){ 22 int flag = 1; 23 do{ 24 printf("%s\n", start->name); 25 if(start->forward == NULL){ 26 flag = 0; 27 } 28 start = start->forward; 29 }while(flag); 30 31 return; 32 } 33 34 void showBackward(Memb *end){ 35 int flag = 1; 36 do{ 37 printf("%s\n", end->name); 38 if(end->backward == NULL){ 39 flag = 0; 40 } 41 end = end->backward; 42 }while(flag); 43 44 return; 45 } 46 47 int main(int argc, char **argv) 48 { 49 Memb memb1; 50 Memb memb2; 51 Memb memb3; 52 Memb *start; 53 Memb *end; 54 55 Memb membNum[] = {memb1, memb2, memb3}; 56 char *membName[] = {"lina", "mina", "bina"}; 57 int size = sizeof(membName)/sizeof(membName[0]); 58 for(int i = 0; i < size; i++){ 59 strcpy(membNum[i].name, *(membName + i)); 60 } 61 62 start = &membNum[0]; 63 start->forward = &membNum[1]; 64 start->forward->forward = &membNum[2]; 65 start->forward->forward->forward = NULL; 66 67 end = &membNum[2]; 68 end->backward = &membNum[1]; 69 end->backward->backward = &membNum[0]; 70 end->backward->backward->backward = NULL; 71 72 printf("Names of members (forward traversing): \n"); 73 showForward(start); 74 printf("\nNames of members (backward traversing): \n"); 75 showBackward(end); 76 77 return 0; 78 }
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具