数据结构
文章平均质量分 58
雨巷流刀
记录每一分痛点,分享每一点收获
展开
-
螺旋队列公式解释
以1为坐标零点,向右为X正,向下为Y正,任意输入一坐标(x,y),r=max(|x|,|y|) 为当前所在层数,得到下面公式 上边:top=max−r+x; 左边:left=max−3∗r−y; 下边:bottom=max−5∗r−x; 右边:right=max−7∗r+y; 第R层数值是从多少开始的? 首先可以知道第R-1层数值是 [2x(R-1)+1]^2 = (2xR-1)^2 加一就是下一层的第一个数值。eg:第四层是从 (2x4-1)^2+1=50 开始 第R层有多少个数? 第R层最大数为(.原创 2022-04-02 23:13:27 · 672 阅读 · 0 评论 -
菲波那切数列
LeetCode上一个菲波那切数列的代码,运行时间复杂度为O(n),空间复杂度为O(1)。 不过速度好像不是书上介绍的用递归实现可比的,故记录一下,其实实现也很简单。 先介绍一下书上的把 #include <iostream> using namespace std; long long Fibonacci(unsigned int n) { return n < 2 ? n...原创 2019-12-21 21:52:30 · 127 阅读 · 0 评论 -
单链表就地逆置实现
实验目的:逆置(翻转)单链表 方法一:采用循环实现 //单链表逆置——循环实现 template <class DataType> void LinkList<DataType>::Reverse() { Node<DataType> *p = NULL, *q = NULL, *tem = first->next; while (tem != NUL...原创 2019-10-13 17:06:10 · 2546 阅读 · 1 评论 -
顺序表实现与测试
#include <iostream> //#include "SequenceList.h" using namespace std; //c++ 的模板机制 由于线性表的数据元素类型不确定,所以采用C++的模板机制 const int MaxSize = 20; //100只是示例性的数据,可以根据实际问题具体定义 template <class DataTyp...原创 2019-10-11 21:36:35 · 514 阅读 · 0 评论 -
链表的线性存储与实现
头文件: #ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__ typedef void SeqList; typedef void SeqListNode; SeqList* SeqList_Create(int capacity); void SeqList_Destroy(SeqList* list); void SeqList_C...原创 2019-07-25 23:41:56 · 161 阅读 · 0 评论 -
求一数组中出现最多的数字的次数
需求: 在一个自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或多次。 设计一个算法,找出出现次数最多的数字 #include<stdio.h> void main() { int map[] = {1,2,3,4,5,3,2,2,4,2,2,3,1,3,5}; int judge[6] = {0}; int n = sizeof(map)/sizeof(i...原创 2019-07-21 10:05:20 · 2438 阅读 · 0 评论 -
线性表链式存储集成测试
头文件 #ifndef _MYLINKLIST_H_ #define _MYLINKLIST_H_ typedef void LinkList; /* typedef struct _tag_LinkListNode LinkListNode; struct _tag_LinkListNode { LinkListNode* next; }; */ typedef struct _tag_Li...原创 2019-07-25 23:35:53 · 93 阅读 · 0 评论