
数据结构--C++描述
数据结构--C++描述
爱吃芒果的薯条
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构--C++描述--目录
数据结构目录函数引用原创 2020-02-23 21:16:16 · 186 阅读 · 0 评论 -
树-02_二叉查找树
树-2_二叉查找树一、定义BST:Binary Search Tree二叉查找树的性质:二、代码main.cppBinarySearchTree.h一、定义BST:Binary Search Tree二叉查找树的性质: 1、每一个元素有一个键值,而且不允许重复 ...原创 2020-05-01 22:42:32 · 204 阅读 · 0 评论 -
Swap()-- C++ 几种交换函数
Swap()-- C++ 几种交换函数一、简单交换二、传指针交换(C/C++)三、定义宏(C/C++)四、传引用交换(仅C++)五、使用std::swap()函数交换总结:C++几种交换函数写法一、简单交换此方法为按值传参。将a b分别拷贝一份副本传递给Swap(),并未对真实的a b进行操作。所以这是一种不成功的交换函数。#include <iostream>us...原创 2020-02-09 12:29:30 · 1524 阅读 · 0 评论 -
排序算法一:冒泡排序
冒泡排序-最简单的排序说明说明1.从左向右扫描数据,选择最大的数据,放在右边。2.要点:比较相邻的两个数,如果左边的数大于右边的数就进行交换。#include <iostream>using namespace std;void BubbleSort(int [],int);int main(){ int array[] {1,4,3,6,9,7,8,2,...原创 2020-02-09 18:43:28 · 210 阅读 · 0 评论 -
排序算法二:选择排序
选择排序说明说明1.从当前未排序的整数中找一个最小的整数,将它放在已排序的整数列表的最后。2.要点:选择排序时选最小的,往左边选。3.想像:一条手绢(作为标记)4.冒泡排序 与 选择排序都是低级排序#include <iostream>using namespace std;void SelectSort(int [],int);int main(){ ...原创 2020-02-09 20:06:38 · 137 阅读 · 0 评论 -
排序算法三:顺序查找
顺序查找1.顺序查找与折半查找(二分查找)2.没有排序的数据:只能顺序查找,依次遍历所有元素进行比较3.顺序查找:速度慢例如:100万个数据,平均要找50万次#include <iostream>using namespace std;int SequentialSearch(int *,const int,const int);int main(){ ...原创 2020-02-10 20:25:07 · 265 阅读 · 0 评论 -
排序算法四:折半查找(二分查找)
折半查找(二分查找)1.数据必须有序#include <iostream>using namespace std;int BinarySearch(int *,const int,const int);int main(){ int array[]{1,2,3,4,5,6,7,8,9,10}; int numIndex = 7; int res...原创 2020-02-10 21:09:40 · 336 阅读 · 0 评论 -
排序算法五:什么是递归
什么是递归一、递归与迭代递归图例:1、定义1.1、递归1.2、迭代2、构成递归需具备的条件3、递归与迭代(循环)的区别与联系:4、递归与迭代(循环)的优缺点:4.1、递归优:缺:4.1、迭代(循环)优:缺:二、代码1、递归(无终止条件)2、递归3、迭代(循环)一、递归与迭代递归图例:1、定义1.1、递归就是在运行的过程中自己反复调用自己,每次旨在缩小问题规模。如果不加条件进行控制就成为...原创 2020-02-14 21:38:38 · 827 阅读 · 0 评论 -
排序算法六:折半查找---递归、迭代
折半查找---递归、迭代一、代码1.1、递归算法2.2、迭代算法一、代码1.1、递归算法int Binary_Search_DiGui(const * a, const int left,const int right,const int x){ if(left<right){ int middle = (left + right)/2; if(...原创 2020-02-15 08:30:08 · 340 阅读 · 0 评论 -
排序算法七:递归--排列组合
排列组合一、案例二、算法与分析1、代码段2、递归过程3、代码分析三、完整代码一、案例输入指定字符串,例:“abc”打印出此字符串的所有组合abcacbbacbcacbacab二、算法与分析1、代码段void Permutations(char*p,const int k,const int m){ for(int i = k;i <= m;i++){ ...原创 2020-02-16 15:23:35 · 647 阅读 · 0 评论 -
排序算法八:递归--汉诺塔
递归--汉诺塔一、问题描述二、算法思想三、代码一、问题描述桌子上有A B C 三根柱子,在A柱上有由小到大 n 个圆盘,借助B柱将所有圆盘移到C柱上。要求:小圆盘必须在大圆盘之上二、算法思想1、将前n-1个从前 n-1 个从 A 柱移到 B 柱2、将第 n 个从 A 柱移到 C 柱3、将前 n-1 个从 B 柱移到 C 柱将最后一个移到C柱时作为结束条件三、代码#inclu...原创 2020-02-17 19:07:11 · 292 阅读 · 0 评论 -
栈-顺序栈
顺序栈MyStack.hMyUtil.hmain.cppMyStack.h#ifndef _MYSTACK_H#define _MYSTACK_H//定义保护防止多重包含#include "MyUtil.h"template<class T>class MyStack{public: MyStack(int stackCapacity = 10);//栈的长度...原创 2020-03-23 21:10:12 · 257 阅读 · 0 评论 -
队列-顺序队列
顺序队列一、定义二、代码一、定义先进先出(FIFO)或后进后出(LILO)队首、队尾队列的操作:1、Push2、Pop3、Front4、Rear5、IsEmpty二、代码顺序队列.h#ifndef _顺序队列_H#define _顺序队列_Htemplate <class T>class Queue{ public: Queu...原创 2020-04-13 21:56:39 · 320 阅读 · 0 评论 -
链表-01_链表基础_友元类及嵌套类
链表基础_01_友元类1、基本概念二、示例1、基本概念数组是最常用的数据结构数组的缺点链表是第二常用的数据结构链表1、数据域2、链接域单链表二、示例1、友元类...原创 2020-04-14 21:15:31 · 321 阅读 · 0 评论 -
链表基础_01_友元类
链表基础_01_友元类一、代码一、代码main.cpp#include <iostream>using namespace std;class List;//前置声明,目的:设为Node的友元类class Node//节点{friend class List;//将List设为Node的友元类,目的:在Test()中操作Node的private变量privat...原创 2020-04-14 21:17:30 · 339 阅读 · 0 评论 -
链表基础_01__嵌套类
链表基本操作_02_嵌套类一、示例一、示例main.cpp#include <iostream>#include "ThreeLetterList.h"using namespace std;int main(){ cout << "链表基本操作_02_嵌套类" << endl; ThreeLetterList L; ...原创 2020-04-14 21:46:44 · 485 阅读 · 0 评论 -
链表-02_第一个链表
链表一、说明用模版实现链表链表操作二、代码一、说明用模版实现链表ListNodeList链表操作Insert 插入Delete 删除Invert 反转Concatenate &nbs...原创 2020-04-16 18:16:10 · 242 阅读 · 0 评论 -
链表-03_链表迭代器
链表迭代器一、作用二、代码一、作用1、可通过链表迭代器作为输出函数输出节点元素值2、可通过链表迭代器为节点元素重新赋值二、代码main.cpp#include <iostream>#include <list>//C++ STL中的链表#include "MyList.h"using namespace std;int main(){ ...原创 2020-04-17 20:31:47 · 443 阅读 · 0 评论 -
链表-04_循环链表
循环链表一、说明二、代码一、说明二、代码main.h#include <iostream>#include "CircleList.h"using namespace std;int main(){ cout << "循环链表" << endl; CircleList<int> intCircleList; ...原创 2020-04-17 21:50:54 · 287 阅读 · 0 评论 -
链表-05_双向链表
双向链表一、说明二、代码main.cppDoubleLinkedList.h一、说明二、代码main.cpp#include <iostream>#include "DoubleLinkedList.h"using namespace std;int main(){ cout << "双向链表" << endl; Doubl...原创 2020-04-18 20:41:51 · 268 阅读 · 0 评论 -
链表-06_链式栈
链式栈一、说明main.cppChainStack.h一、说明main.cpp#include <iostream>#include "ChainStack.h"using namespace std;int main(){ cout << "链式栈" << endl; ChainStack<int> chain...原创 2020-04-18 22:20:05 · 243 阅读 · 0 评论 -
链表-07_链式队列
链式队列一、说明一、说明1、用链表做的队列2、先进先出3、使用C++模版类原创 2020-04-19 10:21:50 · 422 阅读 · 0 评论 -
链表-08_顺序容器STL::List类
顺序容器STL::List类一、一、原创 2020-04-23 19:09:45 · 205 阅读 · 0 评论 -
排序算法九:基数排序
基数排序代码main.cpp代码main.cpp#include <iostream>#include <list>using namespace std;void RadixSort(int data[],int n);int Maxdigit(int data[],int n);int main(){ cout<<"RadixSort...原创 2020-04-29 11:12:59 · 198 阅读 · 0 评论 -
树-01_二叉树
树-01_二叉树一、说明二、代码main.cppBinaryTree.h输出结果一、说明二、代码main.cpp#include <iostream>#include "BinaryTree.h"using namespace std;int main(){ cout << "二叉树:" << endl; BinaryTre...原创 2020-04-30 21:22:54 · 371 阅读 · 0 评论