<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zillll的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zillll</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zillll]]></copyright><item><title><![CDATA[线程池的概念及实现（文件夹的拷贝）]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/127014743</link><guid>https://blog.youkuaiyun.com/zillll/article/details/127014743</guid><author>zillll</author><pubDate>Fri, 23 Sep 2022 17:11:47 +0800</pubDate><description><![CDATA[是一种多线程的处理方式,处理方法是将"生产者"线程提出的任务添加到"任务队列",创建一些线程自动的去完成"任务队列"上面的任务。​	但是当我们需要创建大量的线程,并且线程都是去执行一个非常简单的任务,然后线程自动销毁的情况,上面的模式就不适用了。而且当任务比较多的时候,可以有函数接口去增加线程的数量,当任务比较少的时候,你可以有函数接口去减少线程数量.线程固定的执行一个"任务分配函数",当"任务队列"没有任务的时候,让线程自动的休眠(等待一个条件变量)可能创建的线程太多了(发现一个文件就会创建一个线程)]]></description><category></category></item><item><title><![CDATA[关于二叉树的一些练习]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/125817040</link><guid>https://blog.youkuaiyun.com/zillll/article/details/125817040</guid><author>zillll</author><pubDate>Sat, 16 Jul 2022 10:48:00 +0800</pubDate><description><![CDATA[代码】关于二叉树的一些练习。二叉树的最大值、高度，二叉排序树平衡操作、输出度为1的结点、层次遍历求二叉树的宽度……]]></description><category></category></item><item><title><![CDATA[HASH表的创建（C语言）]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/125729043</link><guid>https://blog.youkuaiyun.com/zillll/article/details/125729043</guid><author>zillll</author><pubDate>Mon, 11 Jul 2022 20:13:06 +0800</pubDate><description><![CDATA[HASH表的创建
]]></description><category></category></item><item><title><![CDATA[二叉排序树的增删改查]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124950250</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124950250</guid><author>zillll</author><pubDate>Tue, 24 May 2022 16:56:34 +0800</pubDate><description><![CDATA[二叉排序树的增删改查

SqQue.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include "SqQue.h"

/*
	功能：初始化队列
	参数：@maxl：最大长度
	返回值：顺序队列的头指针
*/
SqQue *InitSqQue(int maxl)
{
	SqQue *q = malloc(sizeof(*q));
	q-&gt;data = malloc(maxl * sizeof(element));
	q-&gt;max_len]]></description><category></category></item><item><title><![CDATA[C语言练习题]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124759990</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124759990</guid><author>zillll</author><pubDate>Fri, 13 May 2022 21:10:07 +0800</pubDate><description><![CDATA[C语言练习题


一、环行取数

环行取数，逆时针输出数组数据
/*
	功能：环行取数，逆时针输出数组数据
	输入：1 2 3
		  4 5 6
		  7 8 9
	输出：1 4 7 8 9 6 3 2 5
*/


#include&lt;stdio.h&gt;
int main()
{
	int m,n;		//数组的行、列
	scanf("%d%d",&amp;m,&amp;n);
	int a[m][n];
	int i,j;		//用于循环
	for(i = 0;i &lt; m;i++)
	]]></description><category></category></item><item><title><![CDATA[队列的基本操作（入队、出队、清空……）]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124615613</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124615613</guid><author>zillll</author><pubDate>Fri, 06 May 2022 17:53:48 +0800</pubDate><description><![CDATA[队列的基本操作（入队、出队、清空……）

SqQue.h

#ifndef __SQQUE_H__
#define __SQQUE_h__
typedef int element;
typedef struct SqQue
{
    element *data;			//动态定义存储空间大小
    int max_len;			//存放最多的存储元素个数
    int now_len;			//当前存放的元素个数
    int rear;				//队尾下标，下一个入队元素的下标
    int f]]></description><category></category></item><item><title><![CDATA[链式栈的基本操作(入栈、出栈、……)]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124561067</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124561067</guid><author>zillll</author><pubDate>Tue, 03 May 2022 20:35:03 +0800</pubDate><description><![CDATA[链式栈

LinkStack.h

#ifndef __LINKSTACK_H__
#define __LINKSTACK_H__
#define elemnet int

typedef struct SNode
{
    element data;			//保存栈中的一个元素
    struct SNode *next;
    struct SNode *prev;
}SNode;

typedef struct LinkStack
{
    SNode *first;			//栈底指针
   ]]></description><category></category></item><item><title><![CDATA[顺序栈的基本操作(入栈、出栈、遍历、清空……)]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124542598</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124542598</guid><author>zillll</author><pubDate>Mon, 02 May 2022 16:25:12 +0800</pubDate><description><![CDATA[顺序栈
基本定义

栈是仅限定在表尾进行插入和删除的操作的线性表
LIFO：last in first out–后进先出
一片连续的存储单元


SeqStack.h

#ifndef __SEQSTACK_H__
#define __SEQSTACK_H__
#define element x

typedef struct SeqStack
{
    element *data;			//data指向的空间来存储栈中的元素，动态数组，可以不事先定义大小
    element maxlen;		//栈]]></description><category></category></item><item><title><![CDATA[双向循环链表增、删、改、查]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124429696</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124429696</guid><author>zillll</author><pubDate>Tue, 26 Apr 2022 15:50:30 +0800</pubDate><description><![CDATA[双向循环链表增、删、改、查

cycle.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"cycle.h"

//先创建一个空的双向循环链表
biList *create(void)
{
    biList *l = malloc(sizeof(*l));
    l-&gt;first = NULL;
    return l;
}

/*
	功能：增加一个数据，链表保持升序
	参数：@l：头结点;@p：要插入的结点
	注意：要考]]></description><category></category></item><item><title><![CDATA[双向链表的增删改查]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124352269</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124352269</guid><author>zillll</author><pubDate>Fri, 22 Apr 2022 18:21:28 +0800</pubDate><description><![CDATA[双向链表的增删改查

doubleist.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"doublelist.h"

//先创建一个空的双向链表，头结点指向空
biList *create()
{
    biList *l = malloc(sizeof(*l));
    l-&gt;first = NULL;
    l-&gt;last = NULL;
    return l;
}
/*
	功能：增加结点，保持升序
	参数]]></description><category></category></item><item><title><![CDATA[删除带头结点链表中最小值的结点]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124306386</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124306386</guid><author>zillll</author><pubDate>Wed, 20 Apr 2022 20:24:28 +0800</pubDate><description><![CDATA[删除带头结点链表中最小值的结点

deletemin.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"deletemin.h"

LinkedList *create(void)
{
    LinkedList *l = malloc(sizeof(*l));
    l-&gt;first = NULL;
    l-&gt;last = NULL;
    element x;
    printf("请输入数据，以0结尾\n"]]></description><category></category></item><item><title><![CDATA[C++运算符、继承]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124276523</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124276523</guid><author>zillll</author><pubDate>Tue, 19 Apr 2022 16:11:01 +0800</pubDate><description><![CDATA[一、C++运算符重载“==”
①不允许用户自定义新的运算符，只能对已有的运算符进行重载
②重载运算符不能改变运算符操作数的个数
③不能改变运算符的优先级
④不能改变运算符的结合性
⑤不能有默认的参数
#include&lt;iostream&gt;
using namespace std;
class CStudent
{
    private:
    	string pname;
    	int page;
    public:
    	CStudent(string name,int age)]]></description><category></category></item><item><title><![CDATA[带头结点的单链表删除数据]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124248759</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124248759</guid><author>zillll</author><pubDate>Mon, 18 Apr 2022 14:27:21 +0800</pubDate><description><![CDATA[带头结点的单链表删除数据

LLWHdelete.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"LLWHdelete.h"

LinkedList *create(void)
{
    LinkedList *l = malloc(sizeof(*l));
    l-&gt;first = NULL;
    l-&gt;last = NULL;
    return l;
}

void insert(LinkedList *]]></description><category></category></item><item><title><![CDATA[带头结点的单链表插入数据]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124157715</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124157715</guid><author>zillll</author><pubDate>Wed, 13 Apr 2022 20:57:37 +0800</pubDate><description><![CDATA[带头结点的单链表插入数据


什么是头结点
头结点是用来管理链表的结点，这个结点中一般包括常用的管理链表的数据对象，如：指向链表的第一个结点的指针，指向链表最后一个结点的指针，结点个数……


代码实现



LLWHinsert.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"LLWHinsert.h"

//先创建一个空的链表,返回头结点
LinkedList *create(void)
{
	LinkedList *l = ma]]></description><category></category></item><item><title><![CDATA[关于单链表的一些练习]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124133389</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124133389</guid><author>zillll</author><pubDate>Tue, 12 Apr 2022 20:29:50 +0800</pubDate><description><![CDATA[一、在单链表中删除所有值为x的结点，输出删除后的单链表
二、逆置单链表

一、


delete.c


#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"delete.h"

Node *create()
{
    Node *first = NULL;
    Node *last = NULL;
    element x;
    printf("请输入数据，0为结束标志。");
    while(1)
    {
       ]]></description><category></category></item><item><title><![CDATA[C++类练习（一）]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/124011062</link><guid>https://blog.youkuaiyun.com/zillll/article/details/124011062</guid><author>zillll</author><pubDate>Thu, 07 Apr 2022 11:45:09 +0800</pubDate><description><![CDATA[有这么个需求，所有的在校生都必须有学号，所以能不能实现实例化一个Student对象之后，就要求输入学号，不存在一个没有学号的Student对象被实例化出来，大家明白了吗？也就是类似于 stud1 这样的对象是不允许存在的，因为其没有学号。

#include&lt;iostream&gt;
#include&lt;string.h&gt;
using namespace std;

class Cstudent
{
    public:
    	char name[50];
    	char sex.]]></description><category></category></item><item><title><![CDATA[一、类的声明]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/123958819</link><guid>https://blog.youkuaiyun.com/zillll/article/details/123958819</guid><author>zillll</author><pubDate>Mon, 04 Apr 2022 19:37:25 +0800</pubDate><description><![CDATA[一、类的声明
1、什么是类类型
​	在C++中对象的类型称为类（class），用来表示一类具有共同属性和行为的类型。例如：人类，狗类，动物类，哺乳动物类等等。在C++中一般是先声明一个类类型，然后用这个类类型去定义多个对象，所以，对象就是类类型的一个实例，或者说是类类型的一个实例化的变量。
类类型是抽象出来的，所以类类型跟C++中的其他类型一样，不占用内存空间，而对象就是类类型的实例，是真正的变量，所以是占用存储空间的。
2、类类型的声明
​	C++中声明一个类类型跟声明一个结构体类型很像。例如，咱们之前讲]]></description><category></category></item><item><title><![CDATA[链表的增、删、改、查]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/123848427</link><guid>https://blog.youkuaiyun.com/zillll/article/details/123848427</guid><author>zillll</author><pubDate>Wed, 30 Mar 2022 15:48:51 +0800</pubDate><description><![CDATA[链表的增、删、改、查


linklist.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include"linklist.h"

/*
	功能：创建链表
	返回值：链表的头指针
*/
Node *create()
{
    Node *first = NULL;						//给头、尾结点的地址初始值赋空值、因为还不存在
    Node *last = NULL;
    element x;								//输入的数据
    print]]></description><category></category></item><item><title><![CDATA[链表的创建 、头插法、尾插法]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/123819092</link><guid>https://blog.youkuaiyun.com/zillll/article/details/123819092</guid><author>zillll</author><pubDate>Tue, 29 Mar 2022 13:25:17 +0800</pubDate><description><![CDATA[链表的创建 、头插法、尾插法

linklist.c

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include "linklist.h"

/*
	功能：
		创立一个有数据的链表
	返回值：
		头指针 保存链表第一个结点
*/
Node *create()
{
    Node *first = NULL;	//还未创建时，第一个结点和最后一个结点都为NULL
    Node *last = NULL;
    element x;
    ]]></description><category></category></item><item><title><![CDATA[C语言组成]]></title><link>https://blog.youkuaiyun.com/zillll/article/details/123799096</link><guid>https://blog.youkuaiyun.com/zillll/article/details/123799096</guid><author>zillll</author><pubDate>Mon, 28 Mar 2022 16:33:55 +0800</pubDate><description><![CDATA[C语言组成
一、C语言写工程、项目
​		一个项目会由多个模块组成，每个模块之间是相对独立，每个模块是由0个或多个**.c和.h**组成，各个模块之间可以分开编码研发。
​		如果继续一个**.c文件去编写，各个模块之间不能分开编码研发—&gt;需要分为多个.c**
​		一般来说哦，每写一个**.c文件对应写一个.h**文件
​								.c文件里面写的是实现某个模块里的函数
​								.h里面写**.c**文件中函数的声明、类型声明……声明语句
​		如果A模块想用B模块的函数，就需要包含]]></description><category></category></item></channel></rss>