![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础
「已注销」
这个作者很懒,什么都没留下…
展开
-
复杂链表复制
第一步复制节点, 先不然random节点class Solution {public: RandomListNode* Clone(RandomListNode* pHead) { // step 1 RandomListNode* temp = phead; while (temp) { RandomListNode* node = new Ran...原创 2020-03-30 18:04:36 · 87 阅读 · 0 评论 -
链表(01)
#pragma once#ifndef _MYLIST_H_#define _MYLIST_H_template <class T> class MyList;template <class T>class ListNode{ template <class T> friend class MyList;private: T data;...原创 2020-03-03 21:45:06 · 76 阅读 · 0 评论 -
顺序队列
#pragma once#ifndef _MYQUEUE_H#define _MYQUEUE_Htemplate<class T>class MyQueue{public: MyQueue(int size_ = 10); ~MyQueue(); int getSize() const; bool isEmpty() const; void pop(); ...原创 2020-03-03 18:36:25 · 76 阅读 · 0 评论 -
顺序栈
#pragma once#ifndef _MYSTACK_H_#define _MYSTACK_H_#include <math.h>template<class T>class MyStack{public: MyStack(int size_ = 10); ~MyStack(); void pop(); // 出栈 bool isE...原创 2020-03-03 18:33:46 · 77 阅读 · 0 评论 -
C++ map练习
#if 1/* 员工信息有:姓名, 性别, 年龄, 电话, 工资, 工号 通过multimp进行有5名员工,为其分配部门,信息插入,显示, 保存。*/#include<iostream>#include<map>#include<vector>#include<map>#include<time.h>#incl...原创 2020-03-01 20:56:10 · 370 阅读 · 0 评论 -
线索二叉树
#include<iostream>#include<stdlib.h>struct Node{ int value; Node *left; Node *right;};struct Tree{ Node *tree;};void creat(Tree *p, int data){ Node *node = ...原创 2019-10-18 15:05:31 · 84 阅读 · 0 评论 -
快速排序
#if 1#include<iostream>void Quicksort(int* a, int start, int end){ int point = a[start]; // 基准点 int i = start, j = end; if (i >= j) { return; // 递归出口 } while (i < j) {...原创 2019-10-18 15:07:36 · 57 阅读 · 0 评论 -
创建简单二叉树并遍历
#if 1#include<iostream>// 创建节点typedef struct node{ int data; // 每个树的根节点 struct node* left; // 左节点 struct node* right; // 右节点}Node;//前序遍历void preorder(Node *node){ if (node != N...原创 2019-10-18 15:05:37 · 132 阅读 · 0 评论 -
希尔排序
#if 1#include<iostream>// 在插入排序的基础上void shell_sort(int* k, int len){ int i, j, temp = 0; int gap = len; do { // 随便选一个跨度 // 直接插入排序的每一次进行数个比较改为 每一次 进行逐跨度个比较 // 只要把每一次递增或者递减 1 改为递增或...原创 2019-10-18 15:05:43 · 72 阅读 · 0 评论 -
归并排序
#include<iostream>// 归并排序--递归实现// 排序并且合并数组void combinae(int *left, int *right, int left_size, int right_size){ int i = 0, j = 0, k = 0; int maxsize = right_size + left_size; int* temp =...原创 2019-10-18 15:05:49 · 66 阅读 · 0 评论 -
BF查找匹配算法
#if 1#include<iostream>#include<string>void BF(std::string s1, std::string s2){ int n = 0; int a = 0; for (int i = 0; i < s1.size(); i++) //迭代主串 { if (s2[n] == s1[i]) ...原创 2019-10-18 15:06:11 · 138 阅读 · 0 评论 -
KMP算法
#if 0#include<iostream>#include<string>void Prefix_table(char subarr[], int prefix[], int len){ // 创建前缀表(next数组) int subarrpos = 0; //前缀表的值 int i = 1; //字符串索引值 由于从第二个开始 所以i ...原创 2019-10-18 15:05:54 · 52 阅读 · 0 评论 -
二分法
#if 1#include<iostream>int main(){ int a[13] = {}; for (int i = 0; i < 13; i++) { a[i] = i + 2; } int num = 1; int begin = 0; int end = 12; int mid = (end + begin) / 2; for ...原创 2019-10-18 15:06:31 · 69 阅读 · 0 评论 -
马踏棋盘
#if 1#include<iostream>#include<ctime>#include<Windows.h>#include<thread>#define X 5#define Y 5int chess[X][Y];// 马 的 下 一 步 是 否 可 行int nextxy(int* x, int* y, size_...原创 2019-10-18 15:06:36 · 57 阅读 · 0 评论 -
插入排序
#if 1/* 插入排序 { 3, 4, 6, 2, 7, 1 }; 如果当前元素大于后面一个元素则把当前元素赋值给后面一个 再把key复制给当前元素 第一次 key = 4 不符合条件 直到 key = 2 当key为第一个位置的时候或者key大于前一个的时候停止 key赋值给当前位置的值*/#include<iostream>void insert...原创 2019-10-18 15:06:59 · 60 阅读 · 0 评论 -
堆排序
#if 1/* parent = (i - 1) / 2 父节点 c1 = 2i + 1 子节点(左) c2 = 2i + 2 子节点(右)*/#include<iostream>void swap(int* tree, size_t max, size_t head) //交换函数{ size_t temp; temp = tree[max];...原创 2019-12-27 09:23:03 · 63 阅读 · 0 评论