【数据结构回顾】

news/2024/12/2 21:57:51/

数据结构回顾

  • 一、单链表
  • 二、单循环链表

一、单链表

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>typedef struct Node {int data;Node *next;
}Node;Node* initList()
{Node *list = (Node*)malloc(sizeof(Node));list->data = 0;list->next = NULL;return list;
}void headInsert(Node* L, int data)
{Node *node = (Node*)malloc(sizeof(Node));node->data = data;node->next = L->next;L->next = node;L->data++;
}void tailInsert(Node* L, int data)
{Node *List = L;Node *node = (Node*)malloc(sizeof(Node));node->data = data;while (List->next){List = List->next;}node->next = List->next;List->next = node;L->data++;
}int delete_node(Node* L, int data)
{Node *pre = L;Node *current = L->next;while(current){if (current->data==data){pre->next = current->next;free(current);L->data--;return true;}else{pre = current;current = current->next;}}return false;
}void printList(Node* L)
{while (L->next){L = L->next;printf("node = %d\n", L->data);}
}int main()
{Node* L = initList();headInsert(L, 1);headInsert(L, 2);headInsert(L, 3);headInsert(L, 4);headInsert(L, 5);tailInsert(L, 6);tailInsert(L, 7);printList(L);if (delete_node(L, 3)) {printf("success delete\n");}else {printf("fail delete\n");}printList(L);system("pause");return 0;
}

二、单循环链表

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>typedef struct Node {int data;Node *next;
}Node;Node* initList() 
{Node *L = (Node*)malloc(sizeof(Node));L->next = NULL;L->data = 0;L->next = L;return L;
}void headInsert(Node* L, int data)
{Node *node = (Node*)malloc(sizeof(Node));node->data = data;node->next = L->next;L->next = node;L->data++;
}void tailInsert(Node* L, int data)
{Node *List = L;Node *node = (Node*)malloc(sizeof(Node));while (List->next!=L){List = List->next;}node->data = data;node->next = L;List->next = node;L->data++;
}int delete_node(Node* L, int data)
{Node *pre = L;Node *current = L->next;while (current!=L){if (current->data == data){pre->next=current->next;free(current);L->data--;return true;}else{pre = current;current = current->next;}	}return false;
}void printList(Node* L)
{Node *node = L->next;while (node !=L){printf("%d->", node->data);node=node->next;}printf("NULL\n");
}
int main()
{Node* L = initList();headInsert(L, 1);headInsert(L, 2);headInsert(L, 3);headInsert(L, 4);headInsert(L, 5);tailInsert(L, 6);tailInsert(L, 7);printList(L);delete_node(L, 4);delete_node(L, 7);printList(L);system("pause");return 0;
}

http://www.ppmy.cn/news/1078904.html

相关文章

vue3的provide

provide 和 inject 通常成对一起使用&#xff0c;使一个祖先组件作为其后代组件的依赖注入方&#xff0c;无论这个组件的层级有多深都可以注入成功&#xff0c;只要他们处于同一条组件链上。 provide&#xff1a;提供一个值&#xff0c;可以被后代组件注入。 inject&#xff…

freemarker学习+集成springboot+导出word

目录 一 FreeMarker简介 二 集成springboot&#xff0c;实现案例导出 三 常见面试题总结 一 FreeMarker简介 FreeMarker 是一款 模板引擎&#xff1a; 即一种基于模板和要改变的数据&#xff0c; 并用来生成输出文本(HTML网页&#xff0c;电子邮件&#xff0c;配置文件&…

Qt 动态中英文切换

背景&#xff1a; 需要界面实现动态国际化&#xff0c;一键点击切换中英文或其他语言。 前提&#xff1a; 已经完成了整个界面的翻译&#xff0c;拿到匹配的ts翻译文件&#xff0c;注意&#xff1a;要保证界面切换后&#xff0c;翻译的全覆盖&#xff0c;要保证任何需要反应的地…

第P3周:天气识别

一、前期准备 1、设置GPU import torch import torch.nn as nn import torchvision.transforms as transforms import torchvision from torchvision import transforms, datasetsimport os,PIL,pathlibdevice torch.device("cuda" if torch.cuda.is_available() …

一些进程/线程调试经验和基础

查看进程/线程/系统运行状况等的命令 主线剧情02-ARM-Linux基础学习记录_Real-Staok的博客-CSDN博客 里面的 Linux Shell 一节 的 任务后台执行 / 任务&进程查看 部分。 关于Linux下进程的详解【进程查看与管理】 - AshJo - 博客园 (cnblogs.com)。 linux top命令查看内存…

kubevirt虚机创建svc通过NodePort的方式暴露端口

背景 存在kubevit存在的三个虚机&#xff1a; ubuntu-4tlg7 7d22h Running True ubuntu-7kgrk 7d22h Running True ubuntu-94kg2 7d22h Running True 网络没有做透传&#xff0c;pod也不是underlay网络想要通过NodePort方式暴露虚机22端口进行远程登录。 …

【Java 动态数据统计图】动态X轴二级数据统计图思路案例(动态,排序,动态数组(重点推荐:难))八(130)

需求&#xff1a; 1.有一组数据集合&#xff0c;数据集合中的数据为动态&#xff1b; 举例如下&#xff1a; [{province陕西省, city西安市}, {province陕西省, city咸阳市}, {province陕西省, city宝鸡市}, {province陕西省, city延安市}, {province陕西省, city汉中市}, {pr…

Vue实现Antv/X6中的示例,以及一些er图开发场景

通过Vue实现Antv X6中的示例&#xff0c;以及一些开发场景&#xff0c;代码已经丢到仓库里了。 lwstudy/antv-x6-vue-demo: Vue实现Antv X6中的示例&#xff0c;以及一些开发场景 (github.com)learn-antv-x6: antv/X6学习 (gitee.com) 介绍 使用脚手架&#xff08;自动生成接…