数据结构
自己实现的一些数据结构,队列,链表,线性表,栈,堆,树,等,附带 Java 和 C++的源代码。
嘿哈哈哈
人生就像一场演出,不到谢幕永远不知道自己有多精彩。
展开
-
重修数据结构:The CROW
文章目录The CrowDefinition CROW(定义 CROW)CROW's consequences(CROW 导致的后果)1. The INFANT - Their first steps...2. The CHILD - the next step3. The ADULT mind - Growing up MentallyConceptual Hierarchy(概念层次)The world around you....(总结升华)1. The Crow, Concepts and the原创 2020-12-18 12:57:17 · 479 阅读 · 0 评论 -
Java实现树,二叉搜索树,AVL平衡搜索树
MyList.LinearList参见链接Treepackage MyTree;public interface Tree { abstract public Comparable root(); abstract public int size(); abstract public int height(); abstract public b...原创 2018-03-21 09:54:55 · 276 阅读 · 0 评论 -
Java实现堆,最大堆,最小堆,左高树,左低树
MyList.LinearList参见链接 MyTree.TreeNode参见链接Heappackage MyHeap;public interface Heap { abstract public int size(); abstract public int maxSize(); abstract public boolean empty(); ...原创 2018-03-21 09:47:49 · 1457 阅读 · 0 评论 -
Java实现队列
Queuepackage MyQueue;public class Queue { public static void main(String[] args){ Queue queue=new Queue(15); for(int i=0;i<20;i++){ queue.push(i); } ...原创 2018-03-21 09:44:14 · 373 阅读 · 0 评论 -
Java实现栈
Stackpackage MyStack;public class Stack { public static void main(String[] args){ Stack stack=new Stack(15); for(int i=0;i<20;i++){ stack.push(i); } ...原创 2018-03-21 09:43:29 · 388 阅读 · 0 评论 -
Java实现链表,线性表
Listpackage MyList;public interface List { abstract public int size(); abstract public boolean empty(); abstract public Object at(int index); abstract public List indexOf(Object ...原创 2018-03-21 09:42:02 · 355 阅读 · 0 评论 -
C++实现基数排序
#include <iostream>using namespace std;int output_index[] = { 0,0,0,0,0,0,0,0,0,0 };void init_output_index() { for (int i = 0; i < 10; i++) { output_index[i] = 0; }}int** map(int ...原创 2018-10-22 21:47:40 · 361 阅读 · 0 评论 -
纯C实现Linux下的Shell
首先Shell的主逻辑为:while (1){ type_prompt(); read_command(); if (fork() != 0) { waitpid(); } else { execve(); }}即如下一个循环:输出提示符,等待输入命令,创建子进程,执行命令。下面一一介绍实现。输出提示符type_prompt()采取“用户名@主机名:...原创 2018-10-22 16:51:32 · 1192 阅读 · 0 评论 -
平衡二叉树的实现,AVL树的实现
AVL树:特性:满足普通的二叉搜索树的特性的同时,对每一个节点,有一个平衡因子,其 值为左子树的高度减去右子树的高度,AVL树需满足每个节点的平衡因子的值的绝对值小于2。搜索:同普通的二叉搜索树的搜索算法。插入:首先执行普通的二叉搜索树的插入操作,但是因为插入元素可能会改变节点的平衡因子的值,所以插入后还需对树进行调整。 在遍历树的同时,找到距离插入...原创 2018-01-03 22:02:42 · 313 阅读 · 0 评论 -
二叉搜索树的实现
BinarySearchTree.h#pragma once#ifndef BINARYSEARCHTREE_H#define BINARYSEARCHTREE_H#include"BinaryTreeNode.h"template<typename T>class BinarySearchTree {public: BinarySearchTree() { th原创 2018-01-03 21:57:35 · 342 阅读 · 0 评论 -
串的实现,KMP算法匹配字符串
String.h#pragma once#ifndef STRING_H#define STRING_H#include<string>class String{public: String(); String(std::string str); String(char *str); ~String(); bool empty() const;原创 2018-01-03 21:55:15 · 408 阅读 · 0 评论 -
矩阵类的实现
Matrix.h#pragma once#ifndef MATRIX_H#define MATRIX_H#include<iostream>#include<vector>#include<string>using std::cout;using std::vector;using std::string;using std::ostream;//任意类型矩阵类//行主矩阵temp原创 2018-01-03 21:53:15 · 331 阅读 · 0 评论 -
左高树实现最大堆
MaxHblt.h#pragma once#ifndef MAXHBLT_H#define MAXHBLT_H#include"BinaryTreeNode.h"template<typename Object>class MaxHblt{public: MaxHblt(); MaxHblt(BinaryTreeNode<Object> *root); ~Max原创 2018-01-03 21:52:03 · 508 阅读 · 0 评论 -
最大堆的实现
MaxHeap.h#pragma once#ifndef MAXHEAP_H#define MAXHEAP_Htemplate<typename Object>class MaxHeap{public: MaxHeap(); ~MaxHeap(); bool empty() const; int size() const; int height()原创 2018-01-03 21:49:28 · 191 阅读 · 0 评论 -
循环队列的实现
Queue.h#pragma once#ifndef QUEUE_H#define QUEUE_Hclass Queue{public: Queue(int MaxSize=10000); ~Queue(); bool empty() const; bool full() const; int size() const; int first(原创 2018-01-03 21:46:58 · 272 阅读 · 0 评论 -
线性表数组实现
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2018-01-02 19:56:19 · 439 阅读 · 0 评论 -
链表的实现
LinkList.h#pragma once#ifndef LINKLIST_H#define LINKLIST_Hclass LinkList{ class Node { friend class LinkList; public: Node() {} Node(int e, Node *n = nullptr) {原创 2018-01-03 21:35:24 · 150 阅读 · 0 评论 -
栈的实现
Stack.h#pragma once#ifndef STACK_H#define STACK_Hclass Stack{public: Stack(int MaxSize=10000); ~Stack(); bool empty() const; bool full() const; int size() const; int top()原创 2018-01-03 21:41:53 · 188 阅读 · 0 评论 -
循环链表的实现
CircularLinkList.h#pragma once#ifndef CIRCULARLINKLIST_H#define CIRCULARLINKLIST_Hclass CircularLinkList{ class Node { friend class CircularLinkList; public: Node() {}原创 2018-01-03 21:40:05 · 255 阅读 · 0 评论