![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
aabyte
天光乍破,暮雪白头
展开
-
常用排序算法(C++实现)
快速排序归并排序冒泡排序直接选择排序直接插入排序代码:#include <iostream>#include <algorithm>#include <vector>#include <cstdlib>#include <ctime>using namespace std;/*函数声明列表*/void quick_sort(vector<int>& q, int l, int r); //快速排.原创 2021-12-02 21:12:04 · 845 阅读 · 0 评论 -
哈夫曼树的创建及哈夫曼编码的求解
完全二叉树的实现及常用操作:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXLEAF 1000 //最多叶子节点数#define MAXVALUE 2147483647 //最大权值/*哈夫曼树的数据结构*/typedef struct{ int weight; //权值 int parent;原创 2021-11-25 00:49:31 · 900 阅读 · 0 评论 -
完全二叉树的实现及常用操作
完全二叉树的实现及常用操作:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#define MAXNODE 1000/*二叉树的节点数据结构*/typedef int ElemType; //节点数据域typedef struct BitNode{ ElemType data; //数据域 struct BitNode* lchild原创 2021-11-16 00:46:28 · 659 阅读 · 0 评论 -
循环链表的实现及常用操作
链表的常用操作实现及测试:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>/*循环链表数据结构*/typedef int ElemType;typedef struct CLinkNode{ ElemType data; struct CLinkNode* next;} CLinkNode, * CLinkList;/*初始化循环链表*/int InitCLinkLis原创 2021-10-29 15:57:48 · 140 阅读 · 0 评论 -
链表的常用操作实现及测试
链表的常用操作实现及测试:单链表的创建及初始化节点插入节点删除节点查询节点修改链表排序链表的遍历并输出反转链表合并两个有序链表,使新链表仍保持有序删除单链表L中的重复元素代码(C语言):/*带头节点的单链表的常用操作实现及测试*/#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>/*数据结构*//*定义元素类型为int*/typedef int ElemTy原创 2021-10-27 01:16:54 · 601 阅读 · 0 评论 -
顺序表的常用操作实现及测试
顺序表的常用操作实现及测试:初始化并建立顺序表顺序表初始值输入按位置插入按位置删除按值查询按位置修改去除顺序表重复元素顺序表排序顺序表遍历及输出合并两个有序顺序表代码(C语言):/*动态顺序表的常用操作实现及测试*/#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#define INITSIZE 100 //顺序表初始容量#define INCREMENT原创 2021-10-24 01:07:22 · 3955 阅读 · 0 评论 -
括号匹配的检验
利用顺序栈进行括号匹配的检验:假设表达式中允许有三种括号:大括号、圆括号和方括号,其嵌套的顺序随意。请编写程序完成表达式中的括号匹配的检测。设计相应的测试数据对所编写的程序进行测试。代码(C语言):/*top为指针且指向栈顶元素的下一个位置*/#include <stdio.h>#include <stdlib.h>#define INITSIZE 100#define INCREMENT 20typedef char ElemType;typedef struct原创 2021-10-21 19:39:05 · 626 阅读 · 0 评论 -
队列的链式表示和实现
队列的链式表示和实现:编写一个程序实现链队列的各种基本运算,并在此基础上设计一个主程序,完成如下功能:初始化并建立链队列销毁链队列入队出队遍历链队列判断链队列是否为空清空链队列获取链队列长度获取链队列头元素代码(C语言实现)://链队列的基本操作#include<stdio.h>#include<stdlib.h>typedef int QElemType;/*链队列*/typedef struct QNode{ QElemType data原创 2021-10-21 19:23:35 · 1519 阅读 · 0 评论 -
队列的顺序表示和实现
队列的顺序表示和实现:编写一个程序实现顺序队列的各种基本运算(采用循环队列),并在此基础上设计一个主程序,完成如下功能:初始化队列入队出队判断队列是否为空清空队列销毁队列获取队列长度获取队头元素遍历队列代码(C语言实现)://循环队列及操作的算法实现(front为队头元素的当前位置,rear为队尾元素的下一个位置)#include<stdio.h>#include<stdlib.h>#define INITSIZE 10 /*队列的初始容量*/#d原创 2021-10-21 19:16:59 · 676 阅读 · 0 评论 -
栈的链式表示和实现
栈的链式表示和实现编写一个程序实现链栈(带头节点)的各种基本运算,并在此基础上设计一个主程序,完成如下功能:初始化链栈入栈出栈判断栈是否为空获取链栈长度取栈顶元素遍历链栈链栈置空代码(C语言实现):#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct Node{ ElemType data; struct Node* next;} Node, * Lin原创 2021-10-21 19:08:05 · 1377 阅读 · 0 评论 -
栈的顺序表示和实现
栈的顺序表示和实现:编写一个程序实现可动态增长容量的顺序栈的各种基本运算,并在此基础上设计一个主程序,完成如下功能:初始化顺序栈入栈出栈取栈顶元素遍历顺序栈清空顺序栈销毁栈判断栈空求栈的长度利用栈实现进制转换代码(C语言实现):/*top为指针且指向栈顶元素的下一个位置*/#include <stdio.h>#include <stdlib.h>#define INITSIZE 100#define INCREMENT 20typedef in原创 2021-10-21 19:01:58 · 1643 阅读 · 0 评论 -
C++通讯录管理系统
基于带头节点的单链表和C++语言写的一个简易通讯录管理系统,包含文件读取、文件保存、联系人添加、联系人删除、联系人查询、联系人修改、通讯录输出、通讯录排序、通讯录清空等功能。部分界面效果:主菜单:添加联系人:通讯录输出:联系人查询:文件保存:源代码:#include <iostream>#include <string>#include <algorithm>#include <fstream>#include <cst原创 2021-10-07 14:21:11 · 3614 阅读 · 2 评论 -
线性表的顺序存储及运算的实现
一、线性表的顺序存储1、线性表的顺序存储原理线性表的顺序存储(Sequential Mapping,简称顺序表),是指用一组地址连续的存储单元按线性表元素之间的逻辑顺序,依次存储线性表的数据元素。数据元素的逻辑顺序和物理上的存储顺序是完全一致的,物理上存放在位置 i 的元素,就是按照逻辑顺序存储时的第 i 个元素。因此在顺序存储结构下不需要另外建立空间来记录各个元素之间的关系。顺序存储的线性表是一种随机存取结构,因为只要确定了存储线性表的起始位置,就可以随机存取表中的任意一个数据元素。2、顺序存储的线原创 2021-09-21 01:18:51 · 3184 阅读 · 0 评论