![](https://img-blog.csdnimg.cn/20200811123357256.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++相关程序设计与部分数据结构实现
Lei Gong
Powering Humanity With Code
展开
-
Linux下gcc/g++中-I(i的大写)、-L和-l
-i(大写)include头文件非标准库中存在的也不是在当前文件夹下的,需要将地址用-i(大写)包含例:-I /home/src/-L用到的函数或操作非标准库下的,需要将库存在的地址用-L包含,库文件一般为.a或.so文件-l用在-L之后,后加库名称,-l库名(.a文件名)一般在提示:‘函数名’ was not declared in this scope 时,是缺少以上一种或多种条...原创 2019-05-06 20:54:23 · 6147 阅读 · 0 评论 -
C++socket编程write()、read()简介及与send()、recv()的区别
write函数原型:ssize_t write(int fd, const void*buf,size_t nbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1.并设置errno变量.在网络程序中,当我们向套接字文件描述符写时有两可能:1)write的返回值大于0,表示写了部分或者是全部的数据. 这样我们用一个while循...转载 2019-05-06 20:41:20 · 7132 阅读 · 0 评论 -
C/C++中char[]和string的连接/合并
一: C风格字符串连接#include <iostream>using namespace std;int main(){ const char *str = "hello "; const char *str2 = "world"; const size_t len = strlen(str)+strlen(str2); char *n_str = new ...转载 2019-05-06 20:26:52 · 11202 阅读 · 0 评论 -
C++中简单程序出现Segmentation fault (core dumped)段错误
段错误就是指访问的内存超出了系统所给这个程序的内存空间。一般是随意使用野指针或者数组、数组越界。简单解决方法:利用GDB调试,定位出错位置。(具体可查找博客详细学习)在可能出现错误的位置输出特殊符号,定位出错具体位置。(此方法适用于多种可运行程序挑错)...原创 2019-05-06 20:20:55 · 2204 阅读 · 1 评论 -
Linux下C++提示bind:address already in use
此地址下的此端口被占用,有可能你已经关闭了程序依然如此,因为TCP的TIME_WAIT(不懂的话可以可以查一查)。解决方案:1.设置为SO_REUSEADDR2.查看进程进程号(ps -ef 或者 ps aux)用进程号杀死进程(kill -9)...原创 2019-05-06 19:59:10 · 435 阅读 · 0 评论 -
Linux中C++提示‘close’ was not declared
C++socket编程时关闭socket和epoll时出现‘close’ was not declared,是程序头文件缺失导致的。缺失头文件#include <unistd.h>原创 2019-05-06 19:35:28 · 1793 阅读 · 0 评论 -
C++字符串转整形、浮点型stof()、atoi()、strtol()等
C++字符串转整形、浮点型头文件:#include<stdlib.h>string str;stof:float val=stof(str);atoi:int val=atoi(str);atol:long val=atol(str);atoll:longlong val=atoll(str);strtod:double val=strtod(str);strtol:l...原创 2019-04-29 09:22:59 · 6286 阅读 · 0 评论 -
数据结构C++使用邻接表实现图
定义邻接表存储的图类。[实验要求](1)创建一个邻接表存储的图;(2)返回图中指定边的权值;(3)插入操作:向图中插入一个顶点,插入一条边;(4)删除操作:从图中删除一个顶点,删除一条边;(5)图的广度优先遍历;(6)基于迪杰斯特拉算法求最短路径。【选作】[截图]实验例图邻接表操作截图[实现代码]一共四个文件 :AQueue.h、Graph_Li...原创 2019-01-20 15:58:09 · 1644 阅读 · 0 评论 -
数据结构C++实现邻接矩阵存储图
定义邻接矩阵存储的图类。[实验要求]创建一个邻接矩阵存储的图;返回图中指定边的权值;查找图中某顶点的第一个邻接顶点、某顶点关于另一个顶点的下一个邻接顶点序号;图的深度优先遍历;[截图]实验例图操作截图[实现代码]一共有三个文件Graph_Martix.h、Graph_Martix.cpp和main.cppGraph_Martix.h#ifndef _GRA...原创 2019-01-20 15:32:49 · 2117 阅读 · 0 评论 -
C++实现二叉树的链接存储结构(先根、中根和后根遍历)
验证二叉树的链接存储结构及其上的基本操作。[实验要求]:从文件创建一棵二叉树,并对其初始化;先根、中根、后根遍历二叉树;在二叉树中搜索给定结点的父结点;搜索二叉树中符合数据域条件的结点;从二叉树中删除给定结点及其左右子树。[截图]:文件截图2. 操作截图[实现代码]:分成三个文件tree.h、tree.cpp和main.cpptree.h#ifndef _TR...原创 2019-01-19 21:09:30 · 631 阅读 · 0 评论 -
C++实现哈夫曼编码/译码器(数据结构)
设计一个哈夫曼编码、译码系统。对一个ASCII编码的文本文件中的字符进行哈夫曼编码,生成编码文件;反过来,可将编码文件译码还原为一个文本文件。(1) 从文件中读入任意一篇英文短文(文件为ASCII编码,扩展名为txt);(2) 统计并输出不同字符在文章中出现的频率(空格、换行、标点等也按字符处理);(3) 根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码;(4) 图形化输出哈夫曼树、哈...原创 2019-01-19 19:24:07 · 9177 阅读 · 5 评论 -
C++运用栈实现网络浏览器的“前进”与“后退”功能
在用户最近访问的网页中进行“前进”和“后退”是Web浏览器的常用功能,实现该功能的一种方式是使用两个栈(backward 栈和forward栈)来存储用户访问的网址,用户的不同操作对应的具体实现方法如下:后退(BACK):如果backward栈为空,则该命令被忽略。否则,将当前页面压入forward栈,并从backward栈中弹出一个页面作为当前页面。前进(FORWARD):如果forwar...原创 2019-01-19 19:11:13 · 1416 阅读 · 0 评论 -
C++游戏项目服务端代码分层架构
实习期间深入参与到某大型pc端枪战游戏的后端开发中,此游戏由著名游戏工作室编写,代码可读性极高,自由时间对游戏后台代码进行了深入研究,在满足自身工作需要的同时对游戏后台的架构也有了理解,记录在此,以便学习。以下是架构表。层次功能约束逻辑层实现更具体的业务逻辑能调用所有下层代码,但应主要依赖接口层实现层对各种具体的通信协议、存储设备等功能的实现满足下层的接口层...原创 2019-07-29 16:32:39 · 3348 阅读 · 0 评论 -
C++中inet_pton、inet_ntop函数
头文件windows下:#include <WS2tcpip.h>linux下:#include <sys/socket.h>#include <netinet/in.h>#include<arpa/inet.h>inet_pton函数将点分十进制串转换成网络字节序二进制值,此函数对IPv4地址和IPv6地址都能处理。第一个参数可...原创 2019-06-17 09:41:36 · 20341 阅读 · 0 评论 -
定宽整形(C++11起)
定义于头文件 cstdint中int8_t、int16_t、int32_t、int64_t 分别为宽度恰为 8 、 16 、 32 和 64 位的有符号整数类型无填充位并对负值使用补码(仅若实现支持该类型才提供)int_fast8_t、int_fast16_t、int_fast32_t、int_fast64_t 分别为宽度至少有 8 、 16 、 32 和 64 位的最快的有符号整数类型...原创 2019-05-22 18:05:12 · 456 阅读 · 0 评论 -
大学一年级课程设计——学生管理系统(C语言)
大一的课程设计了,翻出来放上来供参考,也致曾经初学代码熬夜的我~第一个功能(将文件中的数据存放到链表中,计算文件中的学生个数存放到a中)第二个功能(键盘录入学生信息)第三个功能(计算每门课程的总分和平均分)第四个功能(计算每个学生的总分及平均分)第五个功能(按每个学生的总分由高到低排出名次表)第六个功能(按每个学生的总分由低到高排出名次表)第七个功能(按学号由小到大排出成绩表)第八...原创 2019-03-06 16:59:09 · 1558 阅读 · 0 评论 -
疯狂游戏实习生笔试题
3月16号上午10点到11点半一共三道题输入数n,求从1到n所有被3整除、被5整除和同时被两者整除的数并输出。输入字符串,将字符串每一个字母变成其后边一个(abc变成bcd)并将变化后的a、e、i、o、u变成大写。输入若干组字符串(包含0或1),求1能组成的最大正方形的边长。例:1110、1110、1110、0000 输出3,110、110、001 输出2,100、000、000输出1....原创 2019-03-16 12:49:17 · 1755 阅读 · 0 评论 -
剑指Offer:顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思想,用左上和右下的坐标定位出一次要旋转打印的数据,一次旋转打印结束后,往对角分别前进和后退一个单位。class S...原创 2019-04-10 20:48:32 · 118 阅读 · 0 评论