![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
信手斩龙
新手 求求多多关照
展开
-
【数据结构】约瑟夫环问题
约瑟夫环约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。分析:(1)由于对于每个人只有死和活两种状态,因此可以用布尔型数组标记每个人的状态,可用true表示死,false表示活。(2)开始时每个人都是活的,所以数组初值全部赋为false。(3)模拟杀人过程,直到所有人都被杀死为止。换一个角度来理解这道题目既然约塞夫问题就是用人来举例的,那我们也给每个人一个编号(索引值),每个人用原创 2020-12-22 23:47:12 · 1236 阅读 · 0 评论 -
【数据结构】封装单链表
今天将之前所学习的链表进行封装,增加一些操作,重载输入,输出运算符。一、概念结点:数据元素的存储映像链表:n个结点链接成起来形成一个链表,即为线性表的 链式存储结构单链表: 结点中只包含一个指针域头指针:指向链表中第一个结点(或为头结点、或为首元结点)的指针头结点:在链表的首元结点之前附设的一个结点;数据域内只放表长等信息,它不计入表长度。其作用是统一空表、和非空链表的形式首元结点:指链表中存储线性表第一个数据元素a1的结点二、封装链表类#pragma once#include&原创 2020-12-21 23:54:15 · 366 阅读 · 0 评论 -
【数据结构】封装顺序表
最近在看《大话数据结构》,回顾一下之前数据结构的学习,之前是用C语言来完成的代码,鉴于已经学习了C++,此次便使用类来进行顺序表的封装吧!一、概念 顺序表,全名顺序存储结构,是线性表的一种,他符合线性表“一对一”的逻辑关系。同时又占用一组地址连续的存储单元。动态顺序表:指的是用来存储数据的数组大小是我们动态申请的,用起来比较灵活。静态顺序表:在设计的时候,就已经规定了数组的大小,不灵活。此次我们使用的是动态顺序表来进行的操作。二、设计顺序表线性表的动态分配顺序存储结构typedef原创 2020-12-15 13:07:12 · 1167 阅读 · 0 评论