数据结构与算法
Mr.史
MR.史,个人博客,学习总结。
展开
-
直接插入排序,冒泡排序,快速排序,选择排序的实现
题目描述:排序实现,要求下面代码,第一次:看书实现。第二、三遍尝试独立实现。基础排序功能要求能独立实现。理解算法思想+编码实现。提交正确不是目的,甚至后端没有校验, 直接提交字符串也算对,但那样起不到学习的目的。根据主函数内容实现功能。int main(){ //直接插入排序 int iArray[MAX_SIZE]= {49,38,65,97,76,13,27,49}; insertSort(iArray, MAX_SIZE); printArray(iAr原创 2021-12-14 15:57:14 · 2868 阅读 · 0 评论 -
二分查找的实现
文章目录题目描述输入输出样例输入样例输出代码实现题目描述1、定义一个顺序存储结构或者数组2、主函数已经给出,提交代码不需要提交主函数3、需要完成未给出的二分查找实现4、中间处理:二分或折半查找,通过二分查找:理解查找成功的ASL和查找失败的ASL。5、参考程序给出的输出实现二分查找PS:本题考查二分查找,当然取巧的方式几行代码也能实现,不过不是我们推荐的方式。int main(){ int iArray[MAX_SIZE] = {11,12,13,14,15,26,27,28,29原创 2021-11-30 16:00:43 · 1125 阅读 · 0 评论 -
顺序查找实现
文章目录题目描述输入输出样例输入样例输出代码实现题目描述1、定义一个顺序存储结构或者数组2、输入数组元素的个数3、依次输入数组中的元素值4、中间处理:顺序查找,通过顺序查找:理解查找成功的ASL和查找失败的ASL。4、输出:各个数组元素值,且输出顺序查找的结果。PS:本题考查顺序查找,当然取巧的方式几行代码也能实现,不过不是我们推荐的方式。PS:可以扩展,给个数组之外的值,输出对应的查找结果,看是否能查到。输入5 //数组大小1 3 9 11 0 //数组元素个数输出1 is原创 2021-11-30 15:57:45 · 663 阅读 · 0 评论 -
图的广度优先遍历实现
题目描述图的广度优先遍历实现要求:1、以邻接表形式构造图;2、打印输出邻接表;3、输出:广度优先遍历序列;输入:顶点数、边数目。点、边集合表示(1代表存在边,0代表不存在边)输出:(1)边逻辑正确,则输出:“输入正确!”(2)边逻辑不正确,则输出:“输入边数不对!程序退出!!“(3)输出邻接表存储;(4)输出广义遍历结果。输入5 8 // 5代表顶点数, 8 代表边数目0 1 0 1 11 0 1 1 00 1 0 1 11 1 1 0 11 0 1 1 0输出原创 2021-11-16 19:50:18 · 2163 阅读 · 0 评论 -
二叉树的构造及求解二叉树高度
题目描述1、参考题目解释构造一棵二叉树;2、求解二叉树的高度3、有余力同学尝试打印这棵二叉树(以树的形态,非必须)输入A(B(E,C(D(F(,G),),)输出二叉树高度为: 6代码实现#include <iostream>#include <malloc.h>#define MaxSize 100using namespace std;typedef char ElemType;typedef struct node{ ElemType d原创 2021-11-02 16:58:17 · 785 阅读 · 1 评论 -
顺序栈之判断输入的表达式中括号是否配对
问题描述:编写一个算法判断输入的表达式中括号是否配对(假设只含有左、右圆括号)编写一个算法判断输入的表达式中括号是否配对(假设只含有左、右圆括号)输入:(1+2*(5+3)/2)输出:(1+2*(5+3)/2) 是括号匹配的代码实现:#include <iostream>#include <string.h>using namespace std;typedef char ElemType;typedef struct linknode{ Ele原创 2021-10-26 21:01:33 · 4160 阅读 · 0 评论 -
循环队列之进队出队
循环队列实现入队和出队操作输入:3 //队列大小,循环队列起始值为0,会少存储一个值输出:1进队!2进队!3进队!队列已满,3 进队不成功!1 出队2 出队#include <stdio.h>#include <malloc.h>#define MaxSize 10typedef int ElemType;int sizes;//定义队列typedef struct{ ElemType data[MaxSize]; int f原创 2021-10-19 21:05:48 · 5357 阅读 · 0 评论 -
顺序栈之判断一个字符串是否是对称串
问题设计:设计一个算法利用顺序栈判断一个字符串是否是对称串。所谓对称串是指从左向右读和从右向左读的序列相同。代码实现:#include<stdio.h>#include<iostream>#include<string>using namespace std;#define MaxSize 60typedef int ElemType;typedef struct { ElemType data[MaxSize]; int top; //栈原创 2021-10-16 20:39:48 · 3313 阅读 · 2 评论 -
线性表之单链表
实验题2:实现单链表各种基本运算的方法目的:编写一个程序linklist.cpp,实现单链表的各种基本运算和整体建表算法(假设单链表的元素类型ElemType为char),并在此设计的基础上设计程序exp2-2.cpp完成如下功能:输出顺序表的基本运算如下:(1)初始化单链表h。(2)依次采用尾插法插入a, b, c, d, e元素。(3)输出单链表h。(4)输出单链表h长度。(4)单链表h为。(5)判断单链表h是否为空。(6)输出单链表h的第3个元素。(7)元素a的位置 。(8)在第原创 2021-09-12 16:58:48 · 1533 阅读 · 0 评论 -
线性表之顺序表
实验题1:实现顺序表各种基本运算的算法目的:编写一个sqlist.cpp,实现顺序表的各种基本运算和整体建表算法(假设顺序表的元素类型ElemType为char),并在此基础上设计一个主程序,完成如下功能:输出顺序表的基本运算如下:(1)初始化顺序表L(2)一次插入a, b, c, d, e元素(3)输出顺序表L:(4)输出顺序表L长度:(4)顺序表L为(5)输出顺序表L的第3个元素:(6)元素a的位置 :(7)在第4个元素位置插入f元素(8)输出顺序表L:(9)删除L的第三个元素原创 2021-09-12 16:48:24 · 733 阅读 · 0 评论