<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Keep Fighting All The Time]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LiuBo_01</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LiuBo_01]]></copyright><item><title><![CDATA[多线程 ---并发与并行概念总结]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/81711898</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/81711898</guid><author>LiuBo_01</author><pubDate>Wed, 15 Aug 2018 21:53:19 +0800</pubDate><description><![CDATA[转载自：https://blog.youkuaiyun.com/qq_33290787/article/details/51790605

&amp;gt;


                    
                软件开发，网站开发过程中经常有并发，并行这样的多线程处理与应用。因此，有必要对其进行了解与掌握。



多线程：




在了解线程之前，要先知道进程这个概念。进程是一个具有独立功能的...]]></description><category></category></item><item><title><![CDATA[浅析C语言auto关键字和C++ 中的auto关键字]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80752734</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80752734</guid><author>LiuBo_01</author><pubDate>Fri, 22 Jun 2018 12:36:35 +0800</pubDate><description><![CDATA[       最近在读《C++ Prime》，不禁想感叹一句：C++真是一种美丽的语言！！！！！！！

      C++提供了相比于 C语言更加丰富的库函数，功也更加强大。举个例子吧。]]></description><category></category></item><item><title><![CDATA[数据结构：顺序表、单链表、栈和队列的简单总结]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80540203</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80540203</guid><author>LiuBo_01</author><pubDate>Sat, 02 Jun 2018 19:51:00 +0800</pubDate><description><![CDATA[     首先，顺序表、链表、栈和队列都属于线性表，都可以采用两种基本的存储结构：顺序存储结构和链式存储结构来存储。结构中的元素之间存在一对一的线性关系。既然，顺序表、链表、栈和队列都属于线性表，那么有必要简单的谈一谈线性表。     线性结构是最常用、最简单的一种数据结构。而线性表是一种典型的线性结构。其基本特点是线性表中的数据元素是有序且是有限的。在这种结构中：① 存在一个唯一的被称为“第一个...]]></description><category></category></item><item><title><![CDATA[回文判断。称正读与反读都相同的字符序列为回文序列]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80444946</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80444946</guid><author>LiuBo_01</author><pubDate>Fri, 25 May 2018 00:23:19 +0800</pubDate><description><![CDATA[      试写一个算法，判断依次读入的一个以@为结束符的字符序列，是否为形如“序列1&amp;amp;序列2”模式的字符序列。其中序列1和序列二都不含字符“&amp;amp;”，且序列2是序列1的逆序列。例如，&quot;a+b&amp;amp;b+a&quot;是属该模式的字符序列，而&quot;1+3&amp;amp;3-1&quot;则不是。      通过栈与队列相关内容的学习，我们知道，栈是&quot;先进后出&quot;的线性表，而队列是&quot;先进先出&quot;的线性表。可以通过构造栈]]></description><category></category></item><item><title><![CDATA[使用标志量消除循环链表“假溢出”的入队和出队算法]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80428435</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80428435</guid><author>LiuBo_01</author><pubDate>Thu, 24 May 2018 00:10:01 +0800</pubDate><description><![CDATA[&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;问题：要求循环变量不损失一个空间全部都能利用，设置一个标志量tag，以tag为0或为1来区分头尾指针相同时的队列状态。请编写出此结构相应的入队与出队算法。



&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;       设标志位tag，初始化时将tag置为0，当入队成功时tag = 1；出队成功时tag = 0；队列为空的判断条件为：...]]></description><category></category></item><item><title><![CDATA[数据结构：不带头结点的链式队列的实现]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80417495</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80417495</guid><author>LiuBo_01</author><pubDate>Wed, 23 May 2018 11:25:11 +0800</pubDate><description><![CDATA[/*----------------------------------------------------------------

* 设立一个队首指针front ，一个队尾指针rear ，分别指向队首和队尾元素。
* ◆ 初始化：LQ-&amp;gt;front = LQ-&amp;gt;rear = NULL;将队列的尾指针和头指针置空，
* 由于不带头结点，所有不需要为头结点开辟空间
* ◆ 判断队列是...]]></description><category></category></item><item><title><![CDATA[队列的基本操作（顺序队列、循环队列、链式队列）]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80412290</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80412290</guid><author>LiuBo_01</author><pubDate>Wed, 23 May 2018 01:17:35 +0800</pubDate><description><![CDATA[&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 队列也是一种线性表，是一种先进先出的线性结构。队列只允许在表的一端进行插入（入队）、删除（出队）操作。允许插入的一端称为队尾，允许删除的一端称为队头。 
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;队列的基本操作包括：


  
  初始化队列：InitQueue（Q） 
  &amp;amp;nbsp; &amp;]]></description><category></category></item><item><title><![CDATA[删除单链表中的倒数第k个结点]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80341377</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80341377</guid><author>LiuBo_01</author><pubDate>Wed, 16 May 2018 20:36:00 +0800</pubDate><description><![CDATA[       算法思想：定义两个指针，pFast和pSlow，都指向头结点，pFast先后移k-1位，使pFast指向第k个结点，此时pSlow就是相对pFast的倒数第k个结点。然后同时后移，当pFast走到表尾时，pSlow正好指向倒数第k个结点。然后将pSlow指向的结点删除。       删除单链表中的倒数第k个结点，首先要确定倒数第k个结点的位置。//查找指向链表中的倒数第k个结点的指针...]]></description><category></category></item><item><title><![CDATA[设一个没有头结点指针的单链表。一个指针指向此单链表中间的一个结点（不是第一个，也不是最后一个结点），将该结点从单链表中删除，要求时间复杂度O（1）]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80333693</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80333693</guid><author>LiuBo_01</author><pubDate>Wed, 16 May 2018 10:42:45 +0800</pubDate><description><![CDATA[
  问题：设一个没有头结点指针的单链表。一个指针指向此单链表中间的一个结点（不是第一个，也不是最后一个结点），将该结点从单链表中删除，要求时间复杂度O（1）




 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;详细描述这一过程： 






//删除链表中pDel指向的结点
void Delete(LinkList* pHead, Node* pDel)
{
    Node* ...]]></description><category></category></item><item><title><![CDATA[链表逆置和从尾到头打印单链表]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80317466</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80317466</guid><author>LiuBo_01</author><pubDate>Wed, 16 May 2018 00:04:52 +0800</pubDate><description><![CDATA[&amp;amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;amp;nbsp; 链表的逆置和链表从尾到头打印是两个不同的概念，链表的逆置就是将链表（a1,a2,a3…an）转化为（an，a（n-1),..a1），链表结构会发生改变；而从尾到头打印链表是将链表中的元素逆序打印，即从尾结点开始依次打印，链表的结构不发生改变。



&amp;amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;amp;nbsp]]></description><category></category></item><item><title><![CDATA[不带头结点的链表的基本操作]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80255242</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80255242</guid><author>LiuBo_01</author><pubDate>Wed, 09 May 2018 16:56:26 +0800</pubDate><description><![CDATA[与带头结点的单链表相比，不带头结点的单链表没有头结点，可以简单的理解为，带头结点的单链表的的头结点一般数据域不存元素，指针域指向第一个结点，头指针（假设为pHead）指向头结点，而不带头结点的单链表，头指针指向单链表的第一个结点，如果把链表中的结点进行编号，带头结点的链表的头结点可以理解为是其第0个结点，头指针pHead指向头结点即第0个结点，不带头结点的指针指向第1个结点。 
        带]]></description><category></category></item><item><title><![CDATA[数据结构：单链表的基本操作]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80230612</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80230612</guid><author>LiuBo_01</author><pubDate>Mon, 07 May 2018 19:57:40 +0800</pubDate><description><![CDATA[单链表是一种链式存取的数据结构，用一组地址任意的存储单元存放线性表中的数据元素。这组存储单元可以是连续的，也可以是不连续的。链表中的数据是以结点来表示的，一个结点包含数据域和指针域，数据域用来存储结点的值，指针域用来存储数据域的直接后继的地址，单链表结点的而结构如下图： 
 
        一般情况下使用链表只关心链表中结点之间的逻辑关系，并不关心链表的每个结点的实际存储位置，通常用箭头来表示链域]]></description><category></category></item><item><title><![CDATA[数据结构：顺序表的基本操作]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80186552</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80186552</guid><author>LiuBo_01</author><pubDate>Thu, 03 May 2018 22:50:05 +0800</pubDate><description><![CDATA[线性表的顺序存储
顺序表的线性存储示意图
C语言定义线性表的顺序存储结构













线性表的顺序存储

       线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素，使得线性表在逻辑结构上相邻的元素存储在连续的物理存储单元中，即：通过数据元素物理存储的连续性来反应元素之间逻辑上的相邻关系。采用顺序存储结构存储的线性表通常简称为顺序表。 
       顺序存]]></description><category></category></item><item><title><![CDATA[数据结构中的基础概念]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80172089</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80172089</guid><author>LiuBo_01</author><pubDate>Wed, 02 May 2018 21:24:23 +0800</pubDate><description><![CDATA[数据：数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。 
数据包括：整形、实型、布尔型、图像、声音、字符等等。

数据元素：数据元素是组成数据的基本单位，是数据集合的个体； 
数据对象：数据对象是性质相同的数据元素的集合，是数据的一个子集。如字符集合C={‘A’,’B’,’C,…} 。 
数据项：一个数据可以由一个或多个数据项组成，数据项是对客观事物某一方面特性的数据描述，是...]]></description><category></category></item><item><title><![CDATA[C语言 system函数]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80171209</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80171209</guid><author>LiuBo_01</author><pubDate>Wed, 02 May 2018 20:12:04 +0800</pubDate><description><![CDATA[
                    
            
                Windows函数windows操作系统下system () 函数详解（主要是在C语言中的应用）　函数名： system功 能： 发出一个DOS命令用 法： int system(char *command);system函数已经被收录在标准c库中，可以直接调用程序例：#include &amp;lt;s...]]></description><category></category></item><item><title><![CDATA[C语言头文件大全]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80160733</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80160733</guid><author>LiuBo_01</author><pubDate>Tue, 01 May 2018 22:51:15 +0800</pubDate><description><![CDATA[ctype.h
      字符处理函数: 本类别函数用于对单个字符进行处理，包括字符的类别测试和字符的大小写转换
      —————————————-
      字符测试是否字母和数字 isalnum
      是否字母 isalpha
      是否控制字符 iscntrl
      是否数字 isdigit
      是否可显示字符(除空格外) isgraph
      是否可]]></description><category></category></item><item><title><![CDATA[C语言_FILE结构体的简单认识]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80150765</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80150765</guid><author>LiuBo_01</author><pubDate>Mon, 30 Apr 2018 17:40:19 +0800</pubDate><description><![CDATA[1、文件和流的关系
C将每个文件简单地作为顺序字节流(如下图)。每个文件用文件结束符结束，或者在特定字节数的地方结束，这个特定的字节数可以存储在系统维护的管理数据结构中。当打开文件时，就建立了和文件的关系。在开始执行程序的时候，将自动打开3个文件和相关的流：标准输入流、标准输出流和标准错误。流提供了文件和程序的通信通道。例如，标准输入流使得程序可以从键盘读取数据，而标准输出流使得程序可以在屏幕上输出]]></description><category></category></item><item><title><![CDATA[循环移位：循环左移和循环右移]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80149708</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80149708</guid><author>LiuBo_01</author><pubDate>Mon, 30 Apr 2018 15:35:46 +0800</pubDate><description><![CDATA[&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;循环移位就是把数值变成二进制，然后循环移动的过程；换句话说，循环移位就是将移出的低位放到该数的高位（循环右移）或把移出的高位放到该数的低位（循环左移），左移，和右移动都是对整数进行的操作，在Win32控制台应用程序中，整形占4Byte节32bit。



&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;循环左移的过程： 
 
&amp;nbsp;...]]></description><category></category></item><item><title><![CDATA[位运算符：按位与(&),按位或(|)，按位异或(^),取反(~)左移(<<)和右移(>>)]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80084963</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80084963</guid><author>LiuBo_01</author><pubDate>Thu, 26 Apr 2018 21:09:56 +0800</pubDate><description><![CDATA[&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;数据在内存中是以二进制的形式存放的，计算机存储数据的最小单位是位(bit),一个二进制位可以表示两种状态(0和1)，一个字节通常由8位二进制位组成。C语言支持按位运算，按位运算也就是对字节或者字中的实际位进行操做。



&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C语言的位运算符包括：




  运算符
  含义



  &amp;am...]]></description><category></category></item><item><title><![CDATA[栈的应用：一个简单行编辑程序]]></title><link>https://blog.youkuaiyun.com/LiuBo_01/article/details/80080794</link><guid>https://blog.youkuaiyun.com/LiuBo_01/article/details/80080794</guid><author>LiuBo_01</author><pubDate>Wed, 25 Apr 2018 15:56:03 +0800</pubDate><description><![CDATA[&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;一个简单的行编辑程序的功能是：接受用户从终端输入的程序或数据，并存入用户的数据区。由于用户在终端上输入时，不能保证不出差错，因此，若在编辑行中，“每接受一个字符，即存入用户数据区”的做法显然是不恰当的。较好的做法是，设立一个输入缓冲区，用于接受用户输入的一行字符，然后逐行存入用户数据区。允许用户输入出差错，并在发现有误时，及时更正。例如，当用户...]]></description><category></category></item></channel></rss>