• 2024-11-08队列详解
    目录队列队列的概念及结构队列的实现代码队列功能的实现队列的尾插voidQueuePush(Queue*pq,QDataTypex);结构体封装指针typedefstructQueue总结代码队列的头删voidQueuePop(Queue*pq)代码队列的初始化voidQueueInit(Queue*pq)代码队列的销毁voidQueueDest
  • 2024-10-25初阶数据结构【3】--单链表(比顺序表还好的一种数据结构!!!)
    本章概述前情回顾单链表实现单链表彩蛋时刻!!!前情回顾咱们在上一章博客点击:《顺序表》的末尾,提出了一个问题,讲出了顺序表的缺点——有点浪费空间。所以,为了解决这个问题,我们今天就要讲解链表,咱们在讲结构体的时候有提到过链表,链表的最大优点——一点空间也不浪费,用多少
  • 2024-09-27队列的深度解析:链式队列的实现
    引言队列是一种广泛应用于计算机科学的数据结构,具有先进先出(FIFO)的特性。在许多实际应用中,例如任务调度、缓冲区管理等,队列扮演着重要角色。本文将详细介绍队列的基本概念,并通过链表实现一个简单的队列。一、基本概念1.1定义队列是一种线性数据结构,遵循先进先出(FIFO,Firs
  • 2024-08-31讲解如何用C语言实现带头单向单链表
    目录链表的结构组成:链表的常用接口:初始化带头单链表的头指针:动态申请一个结点(用于后续数据的插入):单链表打印:单链表尾插:单链表的头插:单链表的尾删:单链表头删:单链表查找符合值的第一个节点,没找到时返回NULL:单链表在pos位置之后插入x:单链表删除pos位置之后的值
  • 2024-07-21【数据结构】栈和队列
    数据结构是计算机存储、组织数据的方式。栈和队列是两种常用的线性数据结构,它们在程序设计中扮演着重要角色。一、栈(Stack)栈是一种遵循后进先出(LastInFirstOut,LIFO)原则的数据结构。其主要特点如下:1.基本操作:栈的操作主要有两种——压栈(push)和出栈(pop)。压栈:在栈顶插
  • 2024-07-09单链表详解(1)
    一、顺序表的弊端1.往顺序表中间插入元素时时间要移动顺序表的一部分,当顺序表足够大时,这时时间复杂度会时O(n),运行效率会降低;2.顺序表在空间不够时增容用到realloc函数,这个函数需要拷贝原数据,申请新空间,释放旧空间,这也降低了运行效率;3.顺序表增容后可能存在空间浪费的问题
  • 2024-07-01探索数据结构:队列的的实现与应用
     
  • 2024-05-28数据结构:队列
    目录队列的概念和结构队列的实现结构定义初始化判空入队列出队列返回队头元素返回队尾元素返回size销毁 队列的概念和结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstInFirstOut)入队列:进行插入操
  • 2023-09-21创建单个结点
    1.创建单个结点SLTNode*BuySLTNode(SLTDataTypex){ SLTNode*newnode=(SLTNode*)malloc(sizeof(SLTNode));//申请空间 if(newnode==NULL)//判断是否为空 { perror("BuySLTNodemalloc"); exit(-1); } newnode->val=x;//赋值 newnode->next=NULL;//next指针
  • 2023-08-28实现-双向链表
    1/*2简介:双向链表,可在头尾实现插入和删除3注意:这个双向链表不形成环4作者:njit-sam(许言)5*/67#include<stdio.h>8#include<stdlib.h>9#include<string.h>1011typedefstructdouble_linked_list{12intindex;13struc
  • 2023-02-16DS-单链表:单链表尾删法
    一、定义单链表结构代码:typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_lin
  • 2023-02-15leetcode-数据结构与算法
    第0001题:求两数之和leetcode对应题号:1力扣-原题链接:[请点击此处](https://leetcode.cn/problems/two-sum/"请点击此处")方法一思路暴力破解法,时间复杂度是\(O(n
  • 2023-02-14单链表:删除单链表尾结点
    一、单链表结构定义typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_linkNode*pnext;
  • 2023-02-13leetcode:合并2个有序链表-easy
    题目:将两个升序链表合并为一个新的升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,
  • 2022-09-24C语言第17天,字符串与字符指针
    1.字符串常量不可修改#include<stdio.h>intmain(){char*pStr="HelloWorld\n";printf("%s",pStr);pStr[0]='h';//将H变为hprintf("%s",pStr);return0;}我们知道字