• 2024-09-072.C_数据结构_线性表
    线性表的描述线性表就是若干数据的一个线性序列。数学表达式:L:表名a0~an-1:数据元素n:表长,n>0是为非空表二元描述形式:D:数据元素D用ai表示,这个i范围是0~n-1R:关系用R表示,这个关系是<ai,ai+1>,表示ai为ai+1的直接前驱,ai+1为ai的直接后继。<xxx1,xxx2>:这符号称为有序对
  • 2024-09-04数据结构——单链表查询、逆序、排序
    1、思维导图2、查、改、删算法//快慢排序法找中间值intmid_link(Link_t*plink){Link_Node_t*pfast=plink->phead;Link_Node_t*pslow=pfast;intm=0;while(pfast!=NULL){pfast=pfast->pnext;++m;if(m%
  • 2024-08-29数据结构:双向链表
    目录结构体创建链表插入链表头插法尾插法 遍历打印删除更新查找销毁结构体typedefintDataType;typedefstructnode{structnode*pPre;DataTypedata;structnode*pNext;}LinkNode;创建链表LinkNode*CreateDouList(){LinkNode
  • 2024-08-28数据结构——单向链表
    链表1.空间可以不连续(理论上长度是无限的)2.访问元素不方便3.链表需要更大的空间存放数据和节点地址4.链表的插入和删除效率很高O(1)单向链表无头单向链表,节点插入在头的话,每次头结点都会变,所以有了有头链表,头结点的pNext总是指向链表的第一个节点1.创建空链表//创建空
  • 2024-08-19山东大学计算机导论与程序设计基础实验11-12
    A:实验11斐波那契序列题目描述使用递归法求斐波那契序列第n项的值。斐波那契序列的定义:f(n)
  • 2024-07-14[C++]哈希
    一、概念在顺序结构以及平衡树中,元素关键码(key)与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码(key)的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log2N),搜索的效率取决于搜索过程中元素的比较次数。理想的搜索方法:可以不经过任何比较,一
  • 2024-06-05C语言数据结构实现-单链表表基本操作
    链表插入元素同顺序表一样,向链表中增添元素,根据添加位置不同,可分为以下3种情况:插入到链表的头部(头节点之后),作为首元节点;插入到链表中间的某个位置;插入到链表的最末端,作为链表中最后一个数据元素;虽然新元素的插入位置不固定,但是链表插入元素的思想是固定的,只需做以下两步操
  • 2024-04-22del
    删除链表的任意位置//删除任意位置boolLLsit_Del(LList_t*Head,intdest){ intnum=0;//记录头结点和首结点 LList_t*Phead=Head; LList_t*Pnext=Head->next; //1.判断链表是否为空,如果为空,则直接插入即可 if(NULL==Head->next){ returnfalse; }
  • 2024-04-12C语言实现split函数
    #include<stdio.h>#include<string.h>voidmySplit(char*src,constchar*separator,chardest[][20],int*num){char*pPre=NULL;char*pNext=NULL;//记录分隔符数量intcount=0;//原字符串为空if(src==NULL||strle
  • 2024-01-10学生管理系统单链表
    #include"stdio.h"#include"stdlib.h"#include"string.h"#defineRD_NO(1<<0)#defineRD_NAME(1<<1)#defineRD_SEX(1<<2)#defineRD_SCORE(1<<3)//描述1个学生的属性structSTUDENT{
  • 2024-01-10学生管理系统双链表
    #include"stdio.h"#include"stdlib.h"#include"string.h"#defineRD_NO(1<<0)#defineRD_NAME(1<<1)#defineRD_SEX(1<<2)#defineRD_SCORE(1<<3)//描述1个学生的属性structSTUDENT{
  • 2023-12-02学生成绩管理--C语言
    #学生成绩管理系统效果1.菜单选项voidwelcome()//菜单{printf("欢迎使用学生管理系统\n");printf("1.增加学生信息\n");printf("2.展示学生信息\n");printf("3.删除学生信息\n");printf("4.修改学生信息\n");printf("
  • 2023-06-19单链表(双指针)
    #include<stdio.h>#include<stdlib.h>#include<time.h>typedefstructNode{intvalue;structNode*pNext;}Node;/*打印链表*/voidshow_data(Node*head){if(head==NULL){return;}Node*cur=head;
  • 2023-03-12字符串匹配之KMP算法中的pnext表
    pnext表的分析上篇我们提到了最后是构建一个pnext表,记录着每个字符匹配需要移动的长度的位置信息,接着上篇的内容,我们来分析下pnext表的构造。还是举个栗子:ababcabcacb
  • 2023-02-26迭代器
    1#pragmaonce2#include<assert.h>3template<typenameT>4classCList5{6private:7//链表的结点8typedefstructtagNode9
  • 2023-02-16DS-单链表:在单链表中元素值等于key的所有结点前插入一个元素值为x的新结点
    一、定义单链表结构代码:typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_lin
  • 2023-02-16DS-单链表:单链表头删法
    一、定义单链表结构代码:typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_lin
  • 2023-02-16DS-单链表:指定位置删除结点
    一、定义单链表结构代码:typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_lin
  • 2023-02-16DS-单链表:删除指定元素值x的结点
    一、定义单链表结构代码:typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_lin
  • 2023-02-16DS-单链表:销毁单链表
    一、定义单链表结构代码:typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_lin
  • 2023-02-14单链表:在单链表中元素值等于key的所有结点前插入一个元素值为x的新结点
    一单链表结构定义typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_linkNode*pnext;
  • 2023-02-14单链表:删除单链表中第pos个结点
    一、单链表结构定义typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_linkNode*pnext;
  • 2023-02-14单链表:删除单链表中元素为x的第一个结点
    一、单链表结构定义typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_linkNode*pnext;
  • 2023-02-14单链表:删除单链表中元素值为x的所有结点
    一、单链表结构定义typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_linkNode*pnext;
  • 2023-02-14单链表:删除单链表首结点
    一、单链表结构定义typedefintlinkType; ///<定义链表结点数据域数据类型///@brief链表结点定义typedefstructt_linkNode{structt_linkNode*pnext;