当前位置: 首页 > news >正文

考研数据结构代码篇

文章目录

  • 数据结构
    • 线性表
      • 基本操作
      • 顺序表的定义
      • 顺序表基本操作

单纯上传一下数据结构中可能考察的代码,规格很乱,过几天改规格,提前水一篇

数据结构

线性表

基本操作

InitList(&L)        // 初始化表。构造一个空的线性表L,分配内存空间。
DestroyList(&L)     // 销毁操作。销毁线性表,并释放线性表L所占用的内存空间。
ListInsert(&L,i,e)  // 插入操作。在表L中的第i个位置上插入指定元素e。
ListDelete(&L,i,&e) // 删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值。
LocateElem(L,e)     // 按值查找操作。在表L中查找具有给定关键字值的元素。
GetElem(L,i)        // 按位查找操作。获取表L中第i个位置的元素的值。
Length(L)           // 求表长。返回线性表L的长度,即L中数据元素的个数。
PrintList(L)        // 输出操作。按前后顺序输出线性表L的所有元素值。
Empty(L)            // 判空操作。若L为空表,则返回true,否则返回false。

顺序表的定义

f r e e ( ) free() free() m a l l o c ( ) malloc() malloc()

# include <stdlib.h>        // malloc, freeL.data = (ElemType *) malloc (sizeof(ElemType) * InitSize); 
// malloc 函数返回一个指针,需要强制转型为你定义的数据元素类型指针
free(L.data);

静态分配定义顺序表:

#define MaxSize 10          // 定义最大长度
typedef struct{ElemType data[MaxSize]; // 用静态的“数组”存放数据元素int length;             // 顺序表的当前长度
}SqList;                    // 顺序表的类型定义(静态分配方式)

静态分配初始化顺序表:

void InitList(Sqlist &L){for (int i = 0; i < MaxSize; i ++ )L.data[i] = 0;L.length = 0;
}

动态分配定义顺序表:

#define InitSize 10         //顺序表的初始长度
typedef struct{ElemType *data;         //指示动态分配数组的指针int MaxSize;            //顺序表的最大容量int length;             //顺序表的当前长度
}SeqList;                   //顺序表的类型定义(动态分配方式)

动态分配初始化顺序表:

void InitList(Seqlist &L){L.data = (int *)malloc(InitSize * sizeof(int));L.length = 0;L.MaxSize = InitSize;
}

顺序表基本操作

顺序表的插入:

// 在顺序表L的第i个位置插入新元素e。
bool ListInsert (Sqlist &L, int i, ElemType e){if (i < 1 || i > L.length + 1)return false;if (L.length >= MaxSize)return false;for (int j = L.length; j >= i; j -- )L.data[j] = L.data[j - 1];L.data[i - 1] = e;L.length ++;return true;
}
http://www.lryc.cn/news/61870.html

相关文章:

  • css-设置单行文本溢出省略号,使用overflow:hidden属性之后的出现的问题几解决办法。
  • js的方法
  • [NSSRound#11] 密码学个人赛
  • 玩转树莓派四、修改国内源提高更新速度
  • 苹果手机网速慢怎么办?这些方法帮你解决网速慢的问题!
  • linux_时序竞态-pause函数-sigsuspend函数-异步I/O-可重入函数-不可重入函数
  • Tomcat的负载均衡和动静分离
  • C++每日一练:最长递增区间 阿波罗的魔力宝石 投篮
  • HCIP之VLAN
  • 1686_MATLAB处理Excel文件
  • 亿发软件:中大型仓库进出货管理系统解决方案,定制软件让仓储作业高效便捷
  • SQL Server基础 第二章 表结构管理
  • 华为OD机试真题(Java),最小步骤数(100%通过+复盘思路)
  • 3分钟搞懂:JavaScript 和 ECMAScript
  • Bito:一款 iead/webstorm 神级插件,由 ChatGPT 团队开发,堪称辅助神器
  • [ 云原生 | Docker ] 构建高可用性的 SQL Server:Docker 容器下的主从同步实现指南
  • Binary Utilities非默认目录构建和安装
  • 【故障检测】基于 KPCA 的故障检测【T2 和 Q 统计指数的可视化】(Matlab代码实现)
  • 从“捐赠openEuler”到“向openEuler捐赠”,openEuler生态走入高速发展期
  • ambari的kafka服务开启sasl
  • 改善内部客户服务的 3 个技巧
  • 使用Apache POI的SXSSFworkbook实现大量数据导出到Excel文件
  • 【技术选型】Java 定时任务
  • 让你立刻学会指针
  • 重塑元宇宙体验!元宇宙实时云渲染解决方案来了
  • Node【Global全局对象】
  • 【技术】《Netty》从零开始学netty源码(四十一)之PoolChunk
  • 新建虚拟机更改ip(连接xshell)
  • 什么是VBST和PVST?两者有啥区别?
  • 记录-JavaScript常规加密技术