#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "utlist.h"
#define BUFLEN 20
typedef struct el {
char bname[BUFLEN];
struct el *next, *prev;
} el;
int namecmp(el *a, el *b) {
return strcmp(a->bname,b->bname);
}
el *head = NULL; /* important- initialize to NULL! */
int main(int argc, char *argv[]) {
el *name, *elt, *tmp, etmp;
char linebuf[BUFLEN];
int count;
FILE *file;
if ( (file = fopen( "test11.dat", "r" )) == NULL ) {
perror("can't open: ");
exit(-1);
}
while (fgets(linebuf,BUFLEN,file) != NULL) {
if ( (name = (el*)malloc(sizeof(el))) == NULL) exit(-1);
strncpy(name->bname,linebuf,BUFLEN);
DL_APPEND(head, name);
}
DL_SORT(head, namecmp);
DL_FOREACH(head,elt) printf("%s", elt->bname);
DL_COUNT(head, elt, count);
printf("%d number of elements in list\n", count);
memcpy(&etmp.bname, "WES\n", 5);
DL_SEARCH(head,elt,&etmp,namecmp);
if (elt) printf("found %s\n", elt->bname);
/* now delete each element, use the safe iterator */
DL_FOREACH_SAFE(head,elt,tmp) {
DL_DELETE(head,elt);
}
fclose(file);
return 0;
}</string.h></stdlib.h></stdio.h>
C语言使用utlist实现的双向链表
来源:这里教程网
时间:2026-02-21 13:01:30
作者:
编辑推荐:
- C语言使用utlist实现的双向链表02-21
- 一个C#通过iTextSharp封装的PDF文件操作类代码02-21
- C#实现的客户端弹出消息框封装类02-21
- C#自定读取配置文件类02-21
- C# 四舍五入round函数使用02-21
- 生成高品质小空间的缩略图C#代码02-21
- c#异步Socket Tcp服务器实现02-21
- C#测试代码执行时间的方法02-21
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- C#图像处理绘制公章
C#图像处理绘制公章
26-02-21 - .Net Core 之 图形验证码
.Net Core 之 图形验证码
26-02-21 - C#中下限非零的数组解析
C#中下限非零的数组解析
26-02-21 - 摩斯密码(Morse code) C#实现
摩斯密码(Morse code) C#实现
26-02-21 - C#使用记秒表检查程序运行时间
C#使用记秒表检查程序运行时间
26-02-21 - 基于C#的百度图片批量下载工具
基于C#的百度图片批量下载工具
26-02-21 - 《超级马力欧银河大电影》角色阵容泄露,瓦力欧有望联手库巴 Jr.登场
《超级马力欧银河大电影》角色阵容泄露,瓦力欧有望联手库巴 Jr.登场
26-02-21 - LibreOffice 抨击 OnlyOffice 是“伪开源”,联手微软裹挟用户
- 任天堂 GBA 经典复刻《宝可梦 火红/叶绿》上架 Switch 商店,2 月 27 日正式发售
- 索尼出手叫停粉丝重制《血源诅咒》项目,系列游戏前景渺茫
索尼出手叫停粉丝重制《血源诅咒》项目,系列游戏前景渺茫
26-02-21
