13.3 链表-按顺序插入和查找删除节点
来源:互联网 发布:模拟现货交易软件 编辑:程序博客网 时间:2024/06/14 21:48
13.3 链表-按顺序插入和查找删除节点
#include <stdio.h>#include <string.h>#include <stdlib.h>struct Student{ int id; char name[16]; Student* next;};// 定义了一个有头节点Student m_head = {0};// 按顺序插入节点int insert(Student* obj){ Student* cur = m_head.next; // 当前节点current Student* pre = &m_head; // 上一个节点previous while(cur) { if(obj->id < cur->id) // 找到这个位置 break; pre = cur; cur = cur->next; // 找到最后一个对象 } // 插入到pre节点的后面 obj->next = pre->next; pre->next = obj; return 0;}// 按id查找并删除节点void remove(int id){ Student* cur = m_head.next; // 当前节点current Student* pre = &m_head; // 上一个节点previous while(cur) { if(id == cur->id) // 找到这个位置 { // 删除该节点 pre->next = cur->next; free(cur); break; } pre = cur; cur = cur->next; // 找到最后一个对象 }}// 遍历void show_all(){ Student* p = m_head.next; while(p) { printf("ID: %d, name: %s\n", p->id, p->name); p = p->next; // 下一个对象 }}int main(){ Student* obj = NULL; obj = (Student*)malloc (sizeof(Student)); obj->id = 8; strcpy(obj->name, "888"); insert(obj); obj = (Student*)malloc (sizeof(Student)); obj->id = 1; strcpy(obj->name, "111"); insert(obj); obj = (Student*)malloc (sizeof(Student)); obj->id = 4; strcpy(obj->name, "444"); insert(obj); obj = (Student*)malloc (sizeof(Student)); obj->id = 3; strcpy(obj->name, "333"); insert(obj); obj = (Student*)malloc (sizeof(Student)); obj->id = 5; strcpy(obj->name, "555"); insert(obj); remove(3); remove(2); show_all(); return 0;}
阅读全文
0 0
- 13.3 链表-按顺序插入和查找删除节点
- 二叉查找树节点的查找、插入和删除
- 顺序表插入 删除 查找
- 查找节点和创建、插入节点
- 顺序表 查找 插入 删除 操作
- 顺序表插入删除查找操作
- js的节点操作:插入,删除,复制,查找节点?
- 单链表的测长和打印和节点查找、插入、删除、逆置
- 数据结构学习之路----------线性表顺序存储结构插入和删除节点平均移动次数
- 二叉排序树(二叉查找树)BST构造,节点插入,节点查找,节点删除(java)
- 二叉排序树,完成创建节点,插入节点,删除节点,查找节点,中序遍历的功能
- 11.21课堂笔记-查找节点和创建节点、插入节点和删除节点、复制节点替换节点、包裹节点和属性操作、样式操作、设置和获取HTML、文本和值
- 【C语言】 链表 单链的建立,节点增加 删除 顺序插入
- js DOM节点的创建、插入、删除、查找、替换例子
- DOM节点的创建、插入、删除、查找、替换
- jQuery插入,复制、替换和删除节点
- 添加、删除、插入和替换[文本节点]
- jQuery插入,复制、替换和删除节点
- C++——运算符重载
- 一起来看MyBatis(二)
- 头像裁剪源码
- Filter过滤器
- LightOJ
- 13.3 链表-按顺序插入和查找删除节点
- CSS布局之什么是圣杯布局与双飞翼布局
- POJ1426 Find The Multiple
- C++中命名空间的用法
- dubbo初体验
- C++中const的作用
- OpenCV 图像插值计算(双线性插值/双三次插值)
- EasyPlayer源码解析系列之支持H265
- DB数据库界跳梁小丑