<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_40772639的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_40772639</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40772639]]></copyright><item><title><![CDATA[数据结构实验七，二叉树的应用]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/111314387</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/111314387</guid><author>qq_40772639</author><pubDate>Thu, 17 Dec 2020 14:27:21 +0800</pubDate><description><![CDATA[第一步，实现栈和队列

#ifndef EXPRIMENT_7_CONTAINER_H
#define EXPRIMENT_7_CONTAINER_H
#pragma once
#include &lt;stdexcept&gt;
#include &lt;memory&gt;
namespace Lijinbao
{
    template&lt;typename T&gt;
    class list {
        struct node
        {
            T da.]]></description><category></category></item><item><title><![CDATA[栈应用之表达式求解（C#实现，含括号，阶乘，函数）]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/110358451</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/110358451</guid><author>qq_40772639</author><pubDate>Mon, 30 Nov 2020 00:18:09 +0800</pubDate><description><![CDATA[MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using Sys]]></description><category></category></item><item><title><![CDATA[实验6、压缩矩阵的2种转置运算]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/110209922</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/110209922</guid><author>qq_40772639</author><pubDate>Fri, 27 Nov 2020 00:55:19 +0800</pubDate><description><![CDATA[具体讲解
#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

struct Triple {
    Triple() {

    }

    int i = 1;
    int j = 1;
    int e = 1 ;
    Triple(int i, int j, int e) {
        this-&gt;i = i;
        this-&gt;j = j;
        this]]></description><category></category></item><item><title><![CDATA[数据结构实验五]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/109633291</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/109633291</guid><author>qq_40772639</author><pubDate>Wed, 11 Nov 2020 22:50:47 +0800</pubDate><description><![CDATA[头文件 queue.h
#ifndef UNTITLED_QUEUE_H
#define UNTITLED_QUEUE_H

#include&lt;stdexcept&gt;

template&lt;typename T&gt;
class queue {

    struct Node {
        T data;
        Node* pre;
        Node* rear;

        void addRear(T const&amp; e);

        voi]]></description><category></category></item><item><title><![CDATA[实验四]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/109501851</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/109501851</guid><author>qq_40772639</author><pubDate>Wed, 04 Nov 2020 23:43:30 +0800</pubDate><description><![CDATA[头文件
Stack.h
#pragma once
#include&lt;stdexcept&gt;
template&lt;typename T,int MAXSIZE&gt;
class Stack
{
private:
	T elems[MAXSIZE];
	int numElems = 0;
public:
	Stack() = default;
	void push(T const&amp;);
	void pop();
	T top() const;
	int size() const { re]]></description><category></category></item><item><title><![CDATA[KMP算法（C++,Java)]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/109288538</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/109288538</guid><author>qq_40772639</author><pubDate>Mon, 26 Oct 2020 14:16:34 +0800</pubDate><description><![CDATA[C++
#include &lt;iostream&gt;
#include &lt;cstring&gt;

int kmp(const char* T, const char* P);
int* buildNext(const char* p);

int main() {
    std::cout &lt;&lt; KMP("abcaabca", "bca");
}
//构造next表
int* buildNext(const char* p) {
    int* N = new int[strl]]></description><category></category></item><item><title><![CDATA[实验3  链表的基本操作]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/109144560</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/109144560</guid><author>qq_40772639</author><pubDate>Sun, 18 Oct 2020 15:16:29 +0800</pubDate><description><![CDATA[头文件：
#pragma once
#ifndef MYLIST_H_
#define MYLIST_H_
#include &lt;iostream&gt;
using namespace std;
template&lt;typename T = int&gt;
class MyList
{
private:
    struct Node
    {
        T data;
        Node* prior = nullptr;
        Node* next = nullptr;]]></description><category></category></item><item><title><![CDATA[实验2、基于顺序表的非递减有序表的合并]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/108934491</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/108934491</guid><author>qq_40772639</author><pubDate>Mon, 05 Oct 2020 23:51:58 +0800</pubDate><description><![CDATA[头文件
#pragma once
#ifndef EXPR1_H_

#define EXPR1_H_
#include &lt;cstddef&gt;
#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &lt;new&gt;
#include &lt;stdexcept&gt;
template &lt;typename T&gt;
class expr1List
{
public:
    struct Node
    {
     ]]></description><category></category></item><item><title><![CDATA[数据结构实验一]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/108934467</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/108934467</guid><author>qq_40772639</author><pubDate>Mon, 05 Oct 2020 23:46:33 +0800</pubDate><description><![CDATA[（1）实验目的
通过该实验，让学生复习巩固C语言中的循环结构、循环控制条件、分支结构和数组/链表、函数的调用等有关内容，体会到用数组存储集合时，需要记录集合元素的个数，否则输出结果会出现数据越界现象。
（2）实验内容
通过键盘，分别输入两个数据元素类型为正整数的集合A和B，以负数输入为结束条件，输出两个集合的交、并、差。
（3）实验要求
从程序完善性上考虑，集合元素输入时，要有检查元素重复的功能，每个集合中不允许有重复的元素。集合可以用数组也可以用链表存储。
实现交、并、差运算时，分别把代码写成函数的形式，]]></description><category></category></item><item><title><![CDATA[数据结构（C语言版） 19页List类模板实现]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/108800315</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/108800315</guid><author>qq_40772639</author><pubDate>Fri, 25 Sep 2020 17:04:15 +0800</pubDate><description><![CDATA[/*
*   课本第19页，类模板实现
*/
#include &lt;iostream&gt;
using namespace std;
template &lt;typename T&gt;
class List
{
private:
    const int LIST_INIT_SIZE = 100;
    T *_elem;
    int _length = 0;
    int _capacity = LIST_INIT_SIZE;

public:
    List(); //InitLi]]></description><category></category></item><item><title><![CDATA[Fibonacci查找]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/108523155</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/108523155</guid><author>qq_40772639</author><pubDate>Thu, 10 Sep 2020 21:59:47 +0800</pubDate><description><![CDATA[Fibonacci查找是二分查找的一个变体。
原本的二分查找是取中间一个元素进行比较，而Fibonacci查找是找黄金分割点处的元素进行比较。
为什么是黄金分割点处的呢，我们可以先写出一段Fibonacci数列看看：
f1=1,f2=1,f3=2,f4=3,f5=5,f6=8,f7=13,f8=21f_1=1,f_2=1,f_3=2,f_4=3,f_5=5,f_6=8,f_7=13,f_8=21f1​=1,f2​=1,f3​=2,f4​=3,f5​=5,f6​=8,f7​=13,f8​=21
可以发现前一项]]></description><category></category></item><item><title><![CDATA[原码，反码，补码]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/108509860</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/108509860</guid><author>qq_40772639</author><pubDate>Thu, 10 Sep 2020 11:31:20 +0800</pubDate><description><![CDATA[原码，反码，补码

原码
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位（即最高位为符号位）：正数该位为0，负数该位为1（0有两种表示：+0和-0），其余位表示数值的大小。

补码
在计算机系统中，数值一律用补码来表示和存储。原因在于，使用补码，可以将符号位和数值域统一处理；同时，加法和减法也可以统一处理。原码转为补码的方法:
正数的补码与原码相同，负数的补码可将原码的数值位取反然后在最低位上加以得到。
负数的原码转为补码的另一个方法是从最右边开始照]]></description><category></category></item><item><title><![CDATA[冒泡排序，选择排序，插入排序（C++）]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/105859003</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/105859003</guid><author>qq_40772639</author><pubDate>Thu, 30 Apr 2020 12:37:14 +0800</pubDate><description><![CDATA[冒泡排序，选择排序，插入排序 C++实现
冒泡排序：
void BubbleSort(int * a,int n)
{ 
    bool sorted = true;
    while(sorted)
    {
        sorted=false;
        for (int j = 0; j &lt; n-1; j++)
        {
            if (a[...]]></description><category></category></item><item><title><![CDATA[汉诺塔(hanoi)递归]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/105824385</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/105824385</guid><author>qq_40772639</author><pubDate>Tue, 28 Apr 2020 21:49:16 +0800</pubDate><description><![CDATA[问题：

有A,B,C三个柱子，A柱子上有n个圆盘（从上到下，圆盘大小逐渐变大），要把它移动到B柱子上。

条件：

每次移动小圆盘都不能放在大圆盘下面
每次也只能移动一个圆盘


如果n=1n=1n=1的话，就可以直接把A柱上的一个圆盘移动到B柱上，就结束了
如果n=2n=2n=2的话，得先把上面一个移动到C柱上，然后再把A柱上剩下的一个移动到B柱上，最后再把C柱上的那一个移动到B柱上。
如果n...]]></description><category></category></item><item><title><![CDATA[简单队列实现（C++）]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/105267561</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/105267561</guid><author>qq_40772639</author><pubDate>Thu, 02 Apr 2020 14:53:19 +0800</pubDate><description><![CDATA[首先队列成员是先进先出(first in first out，FIFO)的，即添加数据只能从后面添加，而删除数据只能从第一位删除。y
如果用简单的数组来存储数据，那么每删除一个数据就要把所有项向前移动一位，理论上也可行，实现起来也较为简单，但这里我们用另外一种方式——链表。
一个链表是由各个节点构成的，每个节点存储了一个数据和一个指向下一个节点的指针每个节点可以用结构体来实现即：
struct N...]]></description><category></category></item><item><title><![CDATA[句子成分分析（C++)]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/105188834</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/105188834</guid><author>qq_40772639</author><pubDate>Sun, 29 Mar 2020 23:11:18 +0800</pubDate><description><![CDATA[从键盘输入n个英文句子(“.”、“?”和“!”表示结束)，每次输入一句，分别统计输出每个句子的大写字母个数、小写字母个数、数字个数、空格个数和其他字符个数，最后输出全部句子的统计结果。
题目：

从键盘输入n个英文句子(“.”、“?”和“!”表示结束)，每次输入一句，分别统计输出每个句子的大写字母个数、小写字母个数、数字个数、空格个数和其他字符个数，最后输出全部句子的统计结果。

首先我们并不确定...]]></description><category></category></item><item><title><![CDATA[输出实心和空心菱形（C++)]]></title><link>https://blog.youkuaiyun.com/qq_40772639/article/details/105187750</link><guid>https://blog.youkuaiyun.com/qq_40772639/article/details/105187750</guid><author>qq_40772639</author><pubDate>Sun, 29 Mar 2020 22:37:10 +0800</pubDate><description><![CDATA[输入一个n,表示两个菱形图形（实心和空心）的行数（或者一半行数），利用循环语句实现输出。
题目：

输入一个n,表示两个菱形图形（实心和空心）的行数（或者一半行数），利用循环语句实现输出。

示例输入：

3

示例输出(这里设输入的为菱形的行数）：
 * 
***
 *
 *
* *
 *

首先需要明确的是，在这种情况下输入的数字必须是个奇数，不然不构成菱形。
设行数为nnn则总宽度：nnn上...]]></description><category></category></item></channel></rss>