#include <stdio.h>
#include <stdlib.h>typedef struct Node {int val;struct Node* next;
}M;M* listCreat();//初始化
void listOut();//打印
M* listAdd();//增
M* listDel(); //删
void listSear();//查
M* listAdj();//改 int main() {printf("%s\n", "链表长度:");int Len;scanf_s("%d",&Len);M* List = listCreat(Len);printf("\n%s\n", "打印List:");listOut(List);printf("\n%s\n", "插入位置:");int Index;scanf_s("%d", &Index);List=listAdd(List,Index);printf("\n%s\n", "打印List:");listOut(List);printf("\n%s\n", "删除位置:");int Del;scanf_s("%d", &Del);List=listDel(List,Del);printf("\n%s\n", "打印List:");listOut(List);printf("\n%s\n", "查找位置:");int Search;scanf_s("%d", &Search);listSear(List,Search);printf("\n%s\n", "打印List:");listOut(List);printf("\n%s\n", "更改位置:");int Adjust,val;scanf_s("%d", &Adjust);printf("\n%s\n", "val:");scanf_s("%d", &val);List = listAdj(List, Adjust, val);printf("\n%s\n", "打印List:");listOut(List);return 0;
}M* listCreat(int step) {//初始化M* head = NULL, * last = NULL, * p = NULL;int steps = 0;do {M* p = (M*)malloc(sizeof(M));//申请储存空间p->next = NULL;printf("输入val:");scanf_s("%d", &(p->val));if (!head) {head = p;}else {last->next = p;}last = p;//令 last 指向 head 末尾steps++;} while (steps < step);return head;
}void listOut(M* head) {//输出链表while (head != NULL) {printf("val:%d\n", head->val);head = head->next;}
}M* listAdd(M* head, int Index) {M* p = (M*)malloc(sizeof(M));//申请储存空间p->next = NULL;printf("输入val:");scanf_s("%d", &(p->val));if (Index == 0) {p->next = head;head = p;}else {M* In = head;while (Index - 1 > 0) {Index--;In = In->next;}p->next = In->next;In->next = p;}return head;
}M* listDel(M* head, int Index) {if (Index == 0) {head = head->next;}else {M* In = head;while (Index - 1 > 0) {Index--;In = In->next;}In->next = In->next->next;}return head;
}void listSear(M* head, int Index) {M* p = head;while (Index > 0) {Index--;p = p->next;}printf("val:%d\n", p->val);
}M* listAdj(M* head, int Index, int data) {M* p = head;while (Index > 0) {Index--;p = p->next;}p->val = data;return head;
}

链表基本功能:初始化、增、删、查、改相关推荐

  1. java 增 删 查 改_如何对java链表进行增、删、查、改操作

    如何对java链表进行增.删.查.改操作 发布时间:2020-06-23 10:41:33 来源:亿速云 阅读:79 作者:Leah 如何对java链表进行增.删.查.改操作?针对这个问题,今天小编总 ...

  2. 单链表的实现与增删改查

    单链表的实现与CRUD 单链表的实现与增删改查 链表实现 结果: Hero{id=1, name='dog1', otherName='aadog1'} Hero{id=2, name='dog2', ...

  3. c语言 双向链表增删修查,手写双链表,并实现增删改查

    手写双链表,并实现增删改查 public class DoublyLinkedListT { // 一个空的头节点 private final Node head = new Node(null); ...

  4. python单链表操作_单链表的创建、增删改查等操作(Python实现)

    单链表的创建.增删改查等操作(Python实现) # 单链表 class Node: def __init__(self, elem): self.elem = elem self.next = No ...

  5. 开发平台之美:10分钟内实现一个销售订单功能的增删改查

    IT技术发展了这么多年,早就应该抛弃那些copy&paste的工作了,毫无成就,毫无趣味,毫无好感.这直接催生了一大批快速开发平台的崛起,下面的视频讲述的就是通过一个开发平台如何在10分钟内实 ...

  6. html+js+css 调用jquery 工人信息管理功能(增删改查)前端实现,以及调用实现鼠标拖尾粒子效果的js库

    html + js + css 调用jquery以及underscore.min.js(配合代码实现鼠标粒子效果)实现全前端信息管理基本功能(增删改查) 先附上我运行的一段视频,手机打开清晰一点或者直 ...

  7. EF框架实现登录(记住密码+首页欢迎)+列表功能(增删改查)+过滤器

    一.登录 1.设计数据库 CREATE TABLE [dbo].[AdminUser]([Id] [int] IDENTITY(1,1) NOT NULL,[Name] [varchar](50) N ...

  8. Sqlite 读删查改

    1.继承SqliteOpenHelper类 public class MyOpenHelper extends SQLiteOpenHelper {public static final String ...

  9. 用servlet和jsp和JDBC以及前端知识做登录功能和增删改查页面

    上面这三个图是创建的包名情况,下面的图片是实现后的内容 ![这个是主页面下面有超链接](https://img-blog.csdnimg.cn/20190411190211894.png?x-oss- ...

  10. oracle-增删查改

    day01 ==========养成好习惯:Oracle里养成句末打:的习惯,养成多commit的习惯====================== 建表以后 修改字段名 alter table stu ...

最新文章

  1. AAAI 2021 | 情感分析最新进展解读
  2. mysql存储过程 php_PHP调用MYSQL存储过程实例
  3. 决策树随机森林GBDT
  4. go 打印 %v %+v %#v 的区别
  5. Flutter升级到1.12填坑指南
  6. Spring的@Primary注释在起作用
  7. java常见命名规则
  8. CSS:CSS+JS制作可折叠内容块
  9. android开发那些事儿(二)--Drawable资源
  10. MAC查看CPU信息
  11. matlab sae模型,发动机平均值模型的三篇SAE论文
  12. Flink 开发环境部署和配置
  13. 【BZOJ4199】【NOI2015】品酒大会(后缀数组)
  14. Visual Studio .Net团队开发(Visual SourceSave6.0 在C#中的应用)
  15. PDF怎么在线免费转换成WORD,亲测可用
  16. 一个程序猿小小的梦想-写在16年底的时候
  17. 人保爱无忧易核版重疾险怎么样?好不好?
  18. 【Linux】Linux私有组,主要组和附加组
  19. 存储运维知识点记录(netapp,华为,HP-3par,emc)
  20. 爱普生荣膺第十届制博会机器人类唯一奖项

热门文章

  1. 【转】java string类的方法及说明
  2. 操作系统实验报告6:进程间通信—共享内存
  3. PowerShell渗透工具Nishang
  4. 【数据结构与算法】之深入解析“罗马数字转整数”的求解思路与算法示例
  5. Swift之深入解析枚举enum的底层原理
  6. iOS之性能优化·提高App的编译速度
  7. LeetCode Algorithm 704. 二分查找
  8. 解决:AttributeError: module 'pygal' has no attribute 'Worldmap' 问题
  9. 【Linux】一步一步学Linux——chattr命令(115)
  10. python的django介绍_【Python基础知识】Django框架简介