<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Shroudy的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Shroudy</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Shroudy]]></copyright><item><title><![CDATA[Python基础之字典]]></title><link>https://blog.csdn.net/Shroudy/article/details/122302923</link><guid>https://blog.csdn.net/Shroudy/article/details/122302923</guid><author>Shroudy</author><pubDate>Thu, 06 Jan 2022 09:38:27 +0800</pubDate><description><![CDATA[元组就是不可变序列
一、创建
1.通过小括号创建
a = (1,2,3)
a = (1,)
a = 1,2,3
a = 1,
2.通过tuple创建
tuple(可迭代的对象)
a = tuple()
a = tuple(“abc”)
a = tuple([1,2,3])
3.生成器推导式创建元组
二、元素的访问和计数
除了元组的元素内容不可以改变，其他与列表的操作相同

...]]></description><category></category></item><item><title><![CDATA[Python基础之列表和元组]]></title><link>https://blog.csdn.net/Shroudy/article/details/122175010</link><guid>https://blog.csdn.net/Shroudy/article/details/122175010</guid><author>Shroudy</author><pubDate>Tue, 04 Jan 2022 14:42:20 +0800</pubDate><description><![CDATA[Python List
1.列表的创建



a = [1,2,3,‘ryt’]
b = []
a
[1, 2, 3, ‘ryt’]




b
[]




a = list()
a = list(range(10))
a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]




a = list(“ryt”)
a
[‘r’, ‘y’, ‘t’]



2.新增



a = [1,2,3,4,5]
a.append(6)
a
[1, 2, 3, 4, 5, 6]




a
[1, 2, 3]]></description><category></category></item><item><title><![CDATA[Python string操作]]></title><link>https://blog.csdn.net/Shroudy/article/details/122079613</link><guid>https://blog.csdn.net/Shroudy/article/details/122079613</guid><author>Shroudy</author><pubDate>Wed, 22 Dec 2021 14:55:24 +0800</pubDate><description><![CDATA[Python 内置函数收集
1.python3支持Unicode
使用ord()可以把字符转化成对应的Unicode码
使用chr()可以把数字转化为字符串

]]></description><category></category></item><item><title><![CDATA[初学C++常遇到的简单问题们]]></title><link>https://blog.csdn.net/Shroudy/article/details/102646063</link><guid>https://blog.csdn.net/Shroudy/article/details/102646063</guid><author>Shroudy</author><pubDate>Sun, 20 Oct 2019 09:41:14 +0800</pubDate><description><![CDATA[容器
一、vector
1.a.resize(n)和a.reserve(n)的区别
  resize是调整容器长度,使其容纳n个元素,大了删,少了增.改变size
  reservevs改变capacitycapacity是按1.5倍增长的，g++是按2倍增长的,不初始化

...]]></description><category></category></item><item><title><![CDATA[树的实现]]></title><link>https://blog.csdn.net/Shroudy/article/details/93083721</link><guid>https://blog.csdn.net/Shroudy/article/details/93083721</guid><author>Shroudy</author><pubDate>Thu, 20 Jun 2019 18:10:30 +0800</pubDate><description><![CDATA[#include "BinTree.h"
#include &lt;assert.h&gt;
#include &lt;malloc.h&gt;
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

#include "Queue.h"



BTNode* BuyBinTeeNode(BTDataType data)
{
	BTNode* pNe...]]></description><category></category></item><item><title><![CDATA[堆实现]]></title><link>https://blog.csdn.net/Shroudy/article/details/93083151</link><guid>https://blog.csdn.net/Shroudy/article/details/93083151</guid><author>Shroudy</author><pubDate>Thu, 20 Jun 2019 18:08:20 +0800</pubDate><description><![CDATA[#include "heap.h"
#include &lt;malloc.h&gt;
#include &lt;assert.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;

void Swap(HPDataType* pLeft, HPDataType* pRight){
	HPDataType temp = *pLeft;
	...]]></description><category></category></item><item><title><![CDATA[进程]]></title><link>https://blog.csdn.net/Shroudy/article/details/93082569</link><guid>https://blog.csdn.net/Shroudy/article/details/93082569</guid><author>Shroudy</author><pubDate>Thu, 20 Jun 2019 18:06:12 +0800</pubDate><description><![CDATA[进程创建:创建pcb
fork – 通过复制调用进程创建一个新的进程:
复制(pcb – 代码共享,数据独有) – 程序计数器(运行位置也一样)
返回值:父进程返回子进程的PID,子进程返回0
写时复制技术: 创建子进程的流程
vfork – 创建子进程,用同一个虚拟地址空间,为了防止调用栈混乱,因此父进程调用vfork会阻塞,阻塞子进程退出或者子进程程序替换,开创自己的地址空间
不能使用retu...]]></description><category></category></item><item><title><![CDATA[Linux常用工具]]></title><link>https://blog.csdn.net/Shroudy/article/details/93081764</link><guid>https://blog.csdn.net/Shroudy/article/details/93081764</guid><author>Shroudy</author><pubDate>Thu, 20 Jun 2019 18:03:17 +0800</pubDate><description><![CDATA[sudo用户设置:
修改etc下的sudoers配置文件,大概在91行左右 添加 用户名
yum:软件包管理工具
查看软件包:yum list
yum list | grep 软件 包名称
安装软件包:yum install 包名称
移除软件包:yum remove 包名称
vim:编辑器
vim中默认不能使用鼠标,为了完成能够插入,删除,复制,粘贴各个操作
分成了很多模式:12种模式,但是常用的...]]></description><category></category></item><item><title><![CDATA[库函数实现]]></title><link>https://blog.csdn.net/Shroudy/article/details/90578804</link><guid>https://blog.csdn.net/Shroudy/article/details/90578804</guid><author>Shroudy</author><pubDate>Sun, 26 May 2019 18:25:59 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;assert.h&gt;
char *my_strcpy (char *str_des , const char *str_source)
{
  char *ret = str_des;
  assert(str_des);
  assert(str_sou...]]></description><category></category></item><item><title><![CDATA[链表题目]]></title><link>https://blog.csdn.net/Shroudy/article/details/90578789</link><guid>https://blog.csdn.net/Shroudy/article/details/90578789</guid><author>Shroudy</author><pubDate>Sun, 26 May 2019 18:23:38 +0800</pubDate><description><![CDATA[9.输入两个链表,找出第一个公共节点"Y""V""I"
 1.确认链表是否相交
  找到两个链表中最后一个节点
  检测最后一个节点是否相同
  typedef struct ListNode ListNode;
  struct ListNode *getIntersectionNode(ListNode *headA, ListNode *...]]></description><category></category></item><item><title><![CDATA[树的相关]]></title><link>https://blog.csdn.net/Shroudy/article/details/90547380</link><guid>https://blog.csdn.net/Shroudy/article/details/90547380</guid><author>Shroudy</author><pubDate>Sat, 25 May 2019 15:25:18 +0800</pubDate><description><![CDATA[1.树的概念

  非线性数据结构,有n个结点组成的有层次关系的集合
 结点的度:一个结点含有的子树的个数(就是它下面的分指数)
 叶子结点:度为0的结点
 分支结点:除了叶子结点之外的结点
 双亲结点(父结点):上面的结点
 子结点:下面的结点
 兄弟结点:有相同父结点的结点
 树的度:最大结点的度
 结点的层次:根节点为第一层
 树的深...]]></description><category></category></item><item><title><![CDATA[C语言总结]]></title><link>https://blog.csdn.net/Shroudy/article/details/90547280</link><guid>https://blog.csdn.net/Shroudy/article/details/90547280</guid><author>Shroudy</author><pubDate>Sat, 25 May 2019 15:19:28 +0800</pubDate><description><![CDATA[C
编译链接过程
编译
预处理
删除注释，宏替换，头文件展开，条件编译
编译
词法分析，语法分析，语义分析，符号汇总（生成汇编代码）
汇编
将形成的汇编代码转为二进制代码，形成对应的符号表
链接
合并段表以及符号表的重定位
指针和数组
数组和指针的区别和联系
联系
1、表达式中的数组名就是指针
2、C语言中把数组下标作为指针的偏移量
3、作为函数参数的数组名等同于指针
区别
1、数组名在传参时会退...]]></description><category></category></item><item><title><![CDATA[单链表]]></title><link>https://blog.csdn.net/Shroudy/article/details/90412573</link><guid>https://blog.csdn.net/Shroudy/article/details/90412573</guid><author>Shroudy</author><pubDate>Tue, 21 May 2019 18:28:34 +0800</pubDate><description><![CDATA[#include “DList.h”
#include &lt;malloc.h&gt;
#include &lt;assert.h&gt;
#include &lt;stdio.h&gt;
void DListInit(PDLNode* pHead)
{
assert(pHead);
*pHead = (PDLNode)malloc(sizeof(DLNode));
if (NULL == *p...]]></description><category></category></item><item><title><![CDATA[顺序表实现]]></title><link>https://blog.csdn.net/Shroudy/article/details/90412528</link><guid>https://blog.csdn.net/Shroudy/article/details/90412528</guid><author>Shroudy</author><pubDate>Tue, 21 May 2019 18:26:15 +0800</pubDate><description><![CDATA[#include “Sqlist.h”
#include &lt;stdio.h&gt;
#include &lt;malloc.h&gt;
#include &lt;assert.h&gt;
void SeqListInit(SeqList* ps, int capacity){
ps-&gt;_array = (DataType*)malloc(sizeof(DataType)*capacit...]]></description><category></category></item><item><title><![CDATA[堆栈实现]]></title><link>https://blog.csdn.net/Shroudy/article/details/90412488</link><guid>https://blog.csdn.net/Shroudy/article/details/90412488</guid><author>Shroudy</author><pubDate>Tue, 21 May 2019 18:23:55 +0800</pubDate><description><![CDATA[#include “Stack.h”
#include &lt;malloc.h&gt;
#include &lt;assert.h&gt;
#include &lt;stdio.h&gt;
void CheckCapacity(Stack* ps)
{
assert(ps);
if (ps-&gt;_size == ps-&gt;_capacity)
{
// 开辟新空间
int newCapa...]]></description><category></category></item><item><title><![CDATA[喝汽水问题]]></title><link>https://blog.csdn.net/Shroudy/article/details/90244242</link><guid>https://blog.csdn.net/Shroudy/article/details/90244242</guid><author>Shroudy</author><pubDate>Wed, 15 May 2019 20:27:54 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
{
 int arr[] = {4, 8, 8, 4, 5, 9, 3, 5};
 int count = 0;
 int sz = sizeof(arr)/sizeof(arr[0]) - 1;
 int i = 0, j = 0;
 for ...]]></description><category></category></item><item><title><![CDATA[时间复杂度]]></title><link>https://blog.csdn.net/Shroudy/article/details/90244179</link><guid>https://blog.csdn.net/Shroudy/article/details/90244179</guid><author>Shroudy</author><pubDate>Wed, 15 May 2019 20:24:53 +0800</pubDate><description><![CDATA[如何衡量一个算法的好坏？
判断算法的时间及空间复杂度.
什么是时间复杂度？
在刚才提到的时间频度中，n称为问题的规模，当n不断变化时，时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此，我们引入时间复杂度概念。

一般情况下，算法中基本操作重复执行的次数是问题规模n的某个函数，用T(n)表示，若有某个辅助函数f(n),使得当n趋近于无穷大时，T（n)/f(n)的极限值为不等...]]></description><category></category></item><item><title><![CDATA[Linux权限相关的操作]]></title><link>https://blog.csdn.net/Shroudy/article/details/90244000</link><guid>https://blog.csdn.net/Shroudy/article/details/90244000</guid><author>Shroudy</author><pubDate>Wed, 15 May 2019 20:15:41 +0800</pubDate><description><![CDATA[删查(cd, touch, ls, rm, mv等)

  需要rwx root权限等

/proc
/proc是linux内核中提供的文件系统，在运行访问内核数据结构，改变内核设置的机制。proc是一个伪文件系统，它只存在内存当中，而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息，并可以改变内核的某些参数。...]]></description><category></category></item><item><title><![CDATA[第14次!!!]]></title><link>https://blog.csdn.net/Shroudy/article/details/89401382</link><guid>https://blog.csdn.net/Shroudy/article/details/89401382</guid><author>Shroudy</author><pubDate>Fri, 19 Apr 2019 15:34:24 +0800</pubDate><description><![CDATA[1.实现一个函数，可以左旋字符串中的k个字符。
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
#define _CRT_SECURE_NO_WARNINGS
#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
#include &lt;stdlib.h&gt;

void move(char *arr, int count)
...]]></description><category></category></item><item><title><![CDATA[第七次 大递归练习!!!]]></title><link>https://blog.csdn.net/Shroudy/article/details/89400768</link><guid>https://blog.csdn.net/Shroudy/article/details/89400768</guid><author>Shroudy</author><pubDate>Fri, 19 Apr 2019 15:12:51 +0800</pubDate><description><![CDATA[1.递归和非递归分别实现求第n个斐波那契数。
int fibernaqi(int n){
	int a = 1;
	int b = 1;
	int c = 0;
	if (n &lt; 1){
		return 0;
	}
	else if (n == 1 || n == 2){
		return 1;
	}
	else{
		for (int i = 0; i &lt; n; ++i){
			...]]></description><category></category></item></channel></rss>