
C/C++
Pwnpanda
这个作者很懒,什么都没留下…
展开
-
源码阅读-MyTinyhttpd
C语言练习项目,小型http服务器,tiny-httpd源码阅读GitHub连接:https://github.com/gcspanda/tiny-httpd原创 2020-11-20 11:46:22 · 252 阅读 · 0 评论 -
C语言实现一个Linux shell
根据CSAPP shelllab改造的一个Linux shellGitHub连接https://github.com/gcspanda/MyShell原创 2020-11-02 13:00:57 · 404 阅读 · 0 评论 -
指针和二级指针
一个栗子#include<stdio.h>int main(){ int a = 112; printf("a == %d \t&a == %d\n",a,&a); int *b = &a; printf("b == %d\t*b == %d\t&b == %d\n&原创 2019-02-08 17:25:07 · 221 阅读 · 0 评论 -
二叉查找树
二叉查找树的平均深度是O(㏒ N),所以不用担心栈空间被用尽。注意事项:如果插入重复的元素,可以不做处理或者根据自身需求对某些数据进行更新,这里采用前者;诸多操作中,最难操作的是删除操作,因为要分三种情况①需要删除的结点是树叶,那么可以立即删除;②如果删除的结点具有一个孩子,那么可以对该节点的父节点进行操作,改变其父节点的指针;③如果需要删除的结点有两个孩子,则默认将其右子树的最小值替...原创 2019-02-25 11:21:31 · 158 阅读 · 0 评论 -
AVL树C语言代码
普通的二叉查找树很容易导致某一侧的子树高度远远超过另一侧,这就导致了搜索效率的降低。AVL树(自平衡二叉查找树的诞生就是为了解决此类问题),和之前的BST树很类似,但是要添加上平衡因子,并在插入或删除某结点后进行平衡#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef struct Avl...原创 2019-02-26 16:56:28 · 1401 阅读 · 3 评论 -
C语言邻接表表示图
图论虐我千百遍,我待图论如初恋邻接表法的难点就在于这一大堆的结构体,让人乍一看头大,仔细一看就不想看了,推荐大家拿个小本本,手动写一下各个结构体,然后写下面的代码时候就可以随时对着本子瞅一眼,以免乱套图说要有边,好,那就得定义一个边的结构体//边结构typedef struct ENode{ Vertex V1,V2; WeightType Weight;} ENode...原创 2019-03-03 16:28:23 · 1311 阅读 · 2 评论 -
C语言顺序表
VSCode#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;#define maxSize 100typedef struct SqList{ /* data */ int data[maxSize]; int length...原创 2019-09-26 20:38:13 · 321 阅读 · 1 评论 -
C++实现链表
Dev C++实现了创建、增、删、改、查、找最大、找最小、置空、数组转链表、链表合并#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;typedef struct LNode{ int data; LNode *next;} LNode;void...原创 2019-09-28 19:55:31 · 330 阅读 · 0 评论 -
C++指针&&函数传参问题
指针啊!!!如果有代码理解不了,那就亲自敲出来慢慢的测试。------我说的算是留下个记录,将来不用每次都敲出来上次写的二级指针:https://blog.youkuaiyun.com/Pwnpanda/article/details/86775911#include<iostream>using namespace std; void TestA(int **A){ //这里...原创 2019-09-30 22:25:30 · 682 阅读 · 0 评论 -
C语言实现顺序队列
练习数据结构顺便提升一波C语言水平主要区别在于初始化的时候,测试数据和测试结果一致,C语言指针真的是博大精深(照这样下去我可能要疯了)第一种#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20typedef int Status;t...原创 2019-02-06 20:01:34 · 1372 阅读 · 2 评论 -
C++虚函数与多态实例
实例来源:C++程序设计(北京大学)功能描述:输入图形数量和图形的信息,计算出各个图形的面积并排序#include<iostream>#include<cmath>#include<algorithm>using namespace std;class CShape{public: virtual double Area()=0; ...原创 2019-02-05 11:13:41 · 500 阅读 · 0 评论 -
C++ Primer Plus(第六版) 第三章课后练习题
暑假学习计划 - 0x04自己的C++太菜,导致学很多东西都心有余而力不足,就干脆费点时间,从基础再来一遍吧原文链接:http://blog4jimmy.com/2017/10/71.html本文内容几乎和原文一致,只是在main()函数里添加点东西方便大家调试C++ Primer Plus(第六版) 第三章课后练习题#include &lt;iostream&gt;...转载 2018-08-10 17:15:22 · 489 阅读 · 0 评论 -
线性表顺序存储
参考书籍:《大话数据结构》#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20typedef int Status;typedef int ElemType;Status visit...原创 2018-10-26 20:01:54 · 194 阅读 · 0 评论 -
邻接矩阵
环境:VS2017#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXVEX 100 //最大顶点数,用户自定义#define INFINITY 65535typedef int Status;typ...原创 2018-11-20 16:13:03 · 2359 阅读 · 2 评论 -
动态排序(升序)
假如不知道所需要排序的数字数量,这个时候就需要动态排一下序#include <stdio.h>#include <stdlib.h>int compare_integers(void const *a,void const *b){ register int const *pa = a; register int const *pb = b; return...原创 2018-12-03 09:07:35 · 1521 阅读 · 0 评论 -
快速排序
顺便安利一波学习数据结构&&算法的好地方:VisuAlgo#include<iostream>using namespace std;int partition(int a[], int i, int j){ int p = a[i]; int m = i; for (int k = i + 1; k <= j; k++) { if (a[k...原创 2018-12-17 23:34:35 · 210 阅读 · 0 评论 -
输出100以内的质数
本以为很简单的一个问题,没想到还有这种玩法(是我见识太少了,自罚代码十行)原文链接:https://www.cnblogs.com/monster-prince/p/6043700.html筛选法:/*先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数...转载 2019-01-18 18:06:04 · 3679 阅读 · 0 评论 -
链栈
链栈,两种写法对比两种写法的本质一样,但是写法上略有不同,个人认为两者之间的外部操作有着很大的区别(C语言初学者,如有描述错误,还请大佬指出)第一种(参考–>数据结构-浙江大学 陈姥姥)只声明一个结构体,该结构体是结点的结构体,相当于,我们每次进行push和pop的时候都是直接对结点进行操作,并不是直接操作这个链栈#include<stdio.h>#include&l...原创 2019-02-02 17:54:12 · 426 阅读 · 0 评论 -
C语言-位向量排序
原题是《编程珠玑》第一章课后题,这里主要贴一下代码相关链接:https://blog.youkuaiyun.com/zeb_perfect/article/details/41312397#include<stdio.h>#define BITSPERWORD 32 //使用的基本数据类型为32位,int型#define SHIFT 5 //与确定位处于哪个#define MASK 0...原创 2019-01-28 21:32:12 · 658 阅读 · 0 评论