数据结构-链表
说明
前段时间学习数据结构的链表,在这里记录一下~
C语言实现
- 构建一个链表的结构体
typedef struct LinkNode {
int val;
struct LinkNode* next;
} Link;
- 构建一个结构体,存放链表的头节点和尾节点(可以不要,如果有的话,可以方便在链表头和尾添加新的元素)
typedef struct LinkHT {
Link* head;
Link* tail;
} HT;
- 链表添加元素的方法(这里在尾节点处添加)
void add(HT* ht, int number) {
Link* p = (Link*)malloc(sizeof(Link));
p->val = number;
p->next = NULL;
Link* last = ht->head;
if ( last ) {
ht->tail->next = p;
ht->tail = p;
} else {
ht->head = p;
ht->tail = p;
}
}
注:这里不实现删除的方法,有需要就自己写!
4. 使用添加的方法
int main(){
HT ht={NULL,NULL};
int number;
printf("请输入你要添加的值\n");
scanf_s("%d", &number);
add(&ht, number);
return 0;
}
用C实现就到这里。后续可能还会更新以下用Java实现!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?