<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Rice__的博客]]></title><description><![CDATA[学鸭学~]]></description><link>https://blog.youkuaiyun.com/Rice__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Rice__]]></copyright><item><title><![CDATA[C语言[栈]求解迷宫[所有路径]]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/117198236</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/117198236</guid><author>Rice__</author><pubDate>Sun, 23 May 2021 18:03:35 +0800</pubDate><description><![CDATA[运行结果截图(八方向可走)



手写栈 LinkStack.h


图 Maze.h


#pragma warning(disable:4996)
#ifndef MAZE_H_
#define MAZE_H_
#include&lt;conio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include "LinkStack.h"

typedef struct MAZE
{
	int size;
	int** data;
}..]]></description><category></category></item><item><title><![CDATA[C语言[队列]实现迷宫求解(文件读取图)]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/117198141</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/117198141</guid><author>Rice__</author><pubDate>Sun, 23 May 2021 17:54:36 +0800</pubDate><description><![CDATA[手写队列 Queue.h

#ifndef SEQQUEUE_H
#define SEQQUEUE_H
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

typedef struct Point
{
	int x;
	int y;
	struct Point* pre;  // 保存路径中的上一个节点
}Point;

typedef Point* DataType;

struct Node
{
	DataType data;
	struct Nod.]]></description><category></category></item><item><title><![CDATA[ECharts 饼状图]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/116702084</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/116702084</guid><author>Rice__</author><pubDate>Wed, 12 May 2021 11:57:07 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;title&gt;ECharts&lt;/title&gt;
    &lt;!-- 引入 echarts.js --&gt;
    &lt;script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"&gt;&lt;/script&gt;
&lt;/h.]]></description><category></category></item><item><title><![CDATA[ECharts 双Y轴柱形图]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/116701831</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/116701831</guid><author>Rice__</author><pubDate>Wed, 12 May 2021 11:50:15 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;title&gt;ECharts&lt;/title&gt;
    &lt;!-- 引入 echarts.js --&gt;
    &lt;script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"&gt;&lt;/script&gt;
&lt;/h.]]></description><category></category></item><item><title><![CDATA[C语言[栈]实现迷宫求解(文件读取图)]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/115560869</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/115560869</guid><author>Rice__</author><pubDate>Fri, 09 Apr 2021 22:27:56 +0800</pubDate><description><![CDATA[手写栈 LinkStack.h

#ifndef LINKSTACK_H
#define LINKSTACK_H

typedef enum { true = 1, false = 0 } bool;
typedef int Data;

struct Node {
	Data data;
	struct Node* next;
};
typedef struct Node* PNode;
typedef struct Node* LinkStack;
LinkStack CreatStack()
{
	.]]></description><category></category></item><item><title><![CDATA[mysql笔记(六)--锁]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/108609274</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/108609274</guid><author>Rice__</author><pubDate>Tue, 15 Sep 2020 21:05:26 +0800</pubDate><description><![CDATA[文章目录

(一) mysql笔记–基本概念
(二) mysql笔记–基本操作
(三) mysql笔记–事务
(四) mysql笔记–索引
(五) mysql笔记–其他操作
(六) mysql笔记–锁

1. 读写锁

读锁会阻塞写，但不会阻塞读
写锁会阻塞读和写

2. 	行页表锁

对表中的记录加锁，叫做记录锁，又称行锁，行锁只锁定一行，偏写
表锁会锁定整个表，偏读
页锁在行锁和表锁之间

3.	InnoDB自动加锁

对于UPDATE、DELETE和INSERT语句，InnoDB会自动给涉及及数据集加]]></description><category></category></item><item><title><![CDATA[gdb及其core调试]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/108111156</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/108111156</guid><author>Rice__</author><pubDate>Wed, 19 Aug 2020 21:30:36 +0800</pubDate><description><![CDATA[gdb快速入门
(1)	编译时需加 -g参数,gdb + app进入调试 r或run运行,退出q
(2)	启动, start停在main函数
(3)	n或next下一条指令
(4)	s或step下一条指令,可以进入函数内部(非库函数)
(5)	运行前指定参数 set args 1 2(也可用于改变变量值) 或直接 run 1 2
(6)	断点b或break, c或continue下一个断点,d删除断点,条件断点+if
(7)	p或print打印变量值,ptype打印变量类型,list查看源码
(8)	di.]]></description><category></category></item><item><title><![CDATA[静态与动态链接库]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/108110921</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/108110921</guid><author>Rice__</author><pubDate>Wed, 19 Aug 2020 21:23:46 +0800</pubDate><description><![CDATA[静态库(.a后缀)
(1)生成.o文件(即二进制文件,gcc -c生成)
(2)生成库: ar rcs libCalc.a *.o
(3)查看:  nm + 静态库文件.a
(4)使用:  gcc -main.c -o app -L lib/ -l Calc (-l指定库名,把lib与后缀去掉)


动态库(共享库)
(1)与位置无关,即通过偏移量去查找 -fPIC 作用于编译阶段，告诉编译器产生与位置无关代码(Position-Independent Code),运行时加入内存
(2)生成二进制: g..]]></description><category></category></item><item><title><![CDATA[Linux的奇怪错误记录]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/107210545</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/107210545</guid><author>Rice__</author><pubDate>Wed, 08 Jul 2020 17:20:49 +0800</pubDate><description><![CDATA[error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i &lt; 31; i++){

note提示里面已有解决方法
note: use option -std=c99 or -std=gnu99 to compile your code

所以gcc只需要添加参数: 

	gcc -std=c99 target.c




error: unknown type name ‘sigset_t.]]></description><category></category></item><item><title><![CDATA[mysql笔记(五)--其他操作]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106933599</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106933599</guid><author>Rice__</author><pubDate>Tue, 23 Jun 2020 22:51:55 +0800</pubDate><description><![CDATA[文章目录

(一) mysql笔记–基本概念
(二) mysql笔记–基本操作
(三) mysql笔记–事务
(四) mysql笔记–索引
(五) mysql笔记–其他操作

1. 视图
&nbsp;&nbsp;&nbsp;&nbsp;某个查询语句设置别名,方便日后使用,即创建一个临时表,是虚拟的表,因为保存的是语句(不常,不方便维护用)

创建
create view 视图名称 as  SQL
修改
alter view 视图名称 as  SQL
删除
drop view 视图名称;

2. 触发器
&n]]></description><category></category></item><item><title><![CDATA[mysql笔记(四)--索引]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106933157</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106933157</guid><author>Rice__</author><pubDate>Tue, 23 Jun 2020 22:32:36 +0800</pubDate><description><![CDATA[文章目录

(一) mysql笔记–基本概念
(二) mysql笔记–基本操作
(三) mysql笔记–事务
(四) mysql笔记–索引
(五) mysql笔记–其他操作

4. 索引
&nbsp;&nbsp;&nbsp;&nbsp;索引的作用就是加速查找,查询数据库时不直接读取硬盘(前提要命中索引),每条索引的建立需要创建索引文件,所以索引影响插入删除速度
4.1 索引类型及存储
无索引：从前到后依次查找
索引类型:

主键索引：加速查找 + 不能为空 + 不能重复
普通索引：加速查找
唯一索引：加速查]]></description><category></category></item><item><title><![CDATA[mysql笔记(三)--事务]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106932834</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106932834</guid><author>Rice__</author><pubDate>Tue, 23 Jun 2020 22:05:06 +0800</pubDate><description><![CDATA[文章目录

(一) mysql笔记–基本概念
(二) mysql笔记–基本操作
(三) mysql笔记–事务
(四) mysql笔记–索引
(五) mysql笔记–其他操作

3.	事务
&nbsp;&nbsp;&nbsp;&nbsp;事务保证了一些操作同时成功或者同时失败,例如转账,即提供撤销机会
mysql默认开启事务(自动提交), select @@autocommit;查看;写完sql语句后需要执行commit;提交后无法撤销,若事务未结束更改表属性或其他操作会隐式提交
&nbsp;&nbsp;&n]]></description><category></category></item><item><title><![CDATA[mysql笔记(二)--基本操作]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106931577</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106931577</guid><author>Rice__</author><pubDate>Tue, 23 Jun 2020 21:44:15 +0800</pubDate><description><![CDATA[文章目录

(一) mysql笔记–基本概念
(二) mysql笔记–基本操作
(三) mysql笔记–事务
(四) mysql笔记–索引
(五) mysql笔记–其他操作

2.1 数据库与表
2.1.1 基本操作

创建 create database db default charset utf8; 删除 drop database db;
查看 数据库 show databases;  表 show tables;
进入数据库 use databasesName;
查看表描述 describe my]]></description><category></category></item><item><title><![CDATA[mysql笔记(一)--基本概念]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106931244</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106931244</guid><author>Rice__</author><pubDate>Tue, 23 Jun 2020 20:29:25 +0800</pubDate><description><![CDATA[文章目录

(一) mysql笔记–基本概念
(二) mysql笔记–基本操作
(三) mysql笔记–事务
(四) mysql笔记–索引
(五) mysql笔记–其他操作

1.1 类型

数据库分为关系型数据库与非关系型
关系型:sqllite,db2,oracle,access,sql server,mysql
非关系型:MongoDB,redis
可视化界面与命令行

1.2	约束
1.2.1 主键约束
&nbsp;&nbsp;&nbsp;&nbsp;它能够唯一确定一张表中的一条记录,增加主键约束之]]></description><category></category></item><item><title><![CDATA[C++类模板实现二叉搜索树(BST)与三种遍历]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106739592</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106739592</guid><author>Rice__</author><pubDate>Sat, 13 Jun 2020 22:49:29 +0800</pubDate><description><![CDATA[实现了基本的插入与查找(递归与迭代)功能
实现二叉树的三种遍历方式(迭代实现)


头文件如下

#pragma once
#include&lt;stack&gt;
#include&lt;queue&gt;

template&lt;class T&gt; class BinarySearchTree;

//树结点
template&lt;class T&gt;
class TreeNode
{
public:
	TreeNode(const T&amp; d) :data(d), left(0),.]]></description><category></category></item><item><title><![CDATA[C++类模板实现链表与简单迭代器]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106739413</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106739413</guid><author>Rice__</author><pubDate>Sat, 13 Jun 2020 22:38:14 +0800</pubDate><description><![CDATA[实现了链表简单的几个功能
迭代器并不实用,写着玩(未重载操作符)


头文件如下

#pragma once

template&lt;class T&gt; class MyList;
template&lt;class T&gt; class ListIterator;

//链表结点
template&lt;class T&gt;
class Node
{
public:
	Node(T item) : date(item) {};
	friend class MyList&lt;T&gt;;
	f.]]></description><category></category></item><item><title><![CDATA[C++类模板实现大根堆]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106739183</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106739183</guid><author>Rice__</author><pubDate>Sat, 13 Jun 2020 22:26:58 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;大根堆是一种树形的结构,所有父结点都大于子结点,一般用一维数组表示,若父结点下标为n (开始下标从0开始),则左孩子下标为 2n+1.右孩子为2n+2

堆数据使用STL向量vector保存
容量vector自动扩充


头文件如下

#pragma once
#include&lt;vector&gt;

template &lt;class T&gt;
class MaxHeap
{
public:
	MaxHeap(size_t capacity = 1]]></description><category></category></item><item><title><![CDATA[C++类模板实现队列(动态数组实现)]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106738886</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106738886</guid><author>Rice__</author><pubDate>Sat, 13 Jun 2020 22:11:43 +0800</pubDate><description><![CDATA[使用动态数组保存数据
队列满自动扩充容量


头文件如下

#pragma once

template &lt;class T&gt;
class MyQueue
{
public:
	MyQueue(size_t n = 10);
	~MyQueue();

	void Push(const T&amp;);
	void Pop();
	T&amp; Front() const;
	T&amp; Rear() const;
	bool IsEmpty() const;
	size_t Size() c.]]></description><category></category></item><item><title><![CDATA[C++类模板实现队列(链表实现)]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106738819</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106738819</guid><author>Rice__</author><pubDate>Sat, 13 Jun 2020 22:00:05 +0800</pubDate><description><![CDATA[使用链表保存数据


头文件如下

#pragma once

template &lt;class T&gt;
class LinkQueue
{
public:
	LinkQueue();
	~LinkQueue();
	bool IsEmpty();
	size_t Size();

	void Push(const T&amp;);
	void Pop();
	void Clear();
	T&amp; Front() const;


private:
	struct LinkNode
	{
	.]]></description><category></category></item><item><title><![CDATA[C++类模板实现栈(链表实现)]]></title><link>https://blog.youkuaiyun.com/Rice__/article/details/106738763</link><guid>https://blog.youkuaiyun.com/Rice__/article/details/106738763</guid><author>Rice__</author><pubDate>Sat, 13 Jun 2020 21:55:18 +0800</pubDate><description><![CDATA[使用链表保存数据


头文件如下

#pragma once
template &lt;class T&gt; class LinkStack;

//保存数据结点
template &lt;class T&gt;
class LinkNode
{
public:
	LinkNode(const T&amp; d = T(), LinkNode* n = nullptr);
	friend class LinkStack&lt;T&gt;;

private:
	T data;
	LinkNode* ne.]]></description><category></category></item></channel></rss>