随笔分类 - C_C++
摘要:最近在Debian下写C时,发现用readelf命令查看编译后的可执行文件类型时,发现文件类型是DYN (Shared object file),而不是EXEC (Executable file)。 -> % readelf -h a.out ELF Header: Magic: 7f 45 4c
阅读全文
摘要:问题 笔者在尝试编译qemu时,需要指定qemu在运行时用指定路径下的spice库,尝试使用-wl,-rpath=<link_path>选项,但是编译出来的程序总是自动链接到系统自带的spice库上。 解决方案 通过检索,找到一下链接:https://stackoverflow.com/questi
阅读全文
摘要:C语言矩阵传递给函数的方法先看一道题:A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element.Now given an M x N matrix...
阅读全文
摘要:0x01数据结构——C语言实现(二叉查找树) 二叉查找树是一种特殊的二叉树,使二叉树成为二叉查找树的性质是:对于树中的每一个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。这意味着,该树所有的元素可以用某种统一的方式排序。 二叉查找树的C语言实现: b_
阅读全文
摘要:0x01数据结构——C语言实现(二叉树)二叉树(binary tree)是一棵树,其中每个节点都不能有多于两个的儿子。二叉树的一个性质是平均二叉树的深度要比N小得多,这个性质有时很重要。分析表明,这个平均深度为O(N)" role="presentation">O(N...
阅读全文
摘要:0x01数据结构——C语言实现(树)树(tree): 一棵树是一些节点的集合。这个集合可以是空集;若非空,则一棵树由称为根(root)的节点r以及0个或多个非空的(子)树T1" role="presentation">T1T1,T2" role="presentati...
阅读全文
摘要:最大子序列求和问题问题描述给定整数A1" role="presentation">A1A1,A2" role="presentation">A2A2,…, AN" role="presentation">ANAN(可能有负数),求∑k=ijAk" rol...
阅读全文
摘要:/*最大子数组问题给出每天股票的价格,求出买进和卖出的时间,使得获利最高。输入: P[0~n-1]输出: 买进的时间i和卖出的时间j(0#include struct ans { int low, high, sum;};void FindMaxSub(int ...
阅读全文
摘要:0x00数据结构——C语言实现(队列)实现/*使用队列时,插入在一端进行而删除在另一端进行队列的基本操作是入队(enqueue),它是在表的末端(队尾(rear))插入一个元素,还有出队(dequeue),它是删除(或返回)在表的开头(队头(front))的元素。 ...
阅读全文
摘要:0x00数据结构——C语言实现(栈)栈的实现/* 栈(tack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。 对栈的基本操作有Push(进栈)和Pop(出栈)。 Functions: (在链表中增加附加头结点的版本) 创建一...
阅读全文
摘要:0x00数据结构——C语言实现(多项式)/*filename:polynomial*/#ifndef POLYNOMIAL#define POLYNOMIAL//一元多项式的表示//Pn(x)=p0 + p1*x + p2*x^2 + ... + pn*x^n/*基本...
阅读全文
摘要:0x00数据结构——C语言实现(双向循环链表)/* 循环双链表 Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找x在表中的位置,返回表项位置 定...
阅读全文
摘要:0x00数据结构——C语言实现(单向循环链表)/*filename:circular_list.h*//* 循环链表(circular list)是另一种形式的表示线性表的链表,与单链表不同的是, 表尾结点的link域中不是NULL而是存放指向链表开始结点的指针。 F...
阅读全文
摘要:0x00数据结构——C语言实现(双链表)/*filename:double_linked_list.h*//* 双链表(double linked list) Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 ...
阅读全文
摘要:0x00数据结构——C语言实现(单链表)/*filename:singly_linked_list.h*//* 单链表(singly linked list)是一种最简单的链表表示,也叫做线性链表。 用它来表示线性表时,用指针表示结点间的逻辑关系。 Functions...
阅读全文
摘要:聊天程序实现用多进程方式实现点对点聊天 一个进程用来获得输入,一个进程用来获得对方发来的消息客户端//p2pcli.c#include #include #include #include #include #include #include #include #in...
阅读全文
摘要:回射客户/服务器 1. 客户端从标准输入获取一行数据,然后发送到服务器; 2. 服务器收到信息后,不处理消息内容,直接将消息内容原封不动地发送给客户端; 3. 客户端收到后,在标准输出上打印出来。TCP回射客户/服务器程序服务器端/***************...
阅读全文
摘要:TCP时间服务器1. 流式套接字客户端/服务器编程拟实现一个基本的流式套接字客户端/服务器通信程序。在该程序中,客户端和服务器将按照如下步骤交互:客户端向服务器发出日期时间请求字符串,如:%D %Y %A %T 等。服务器从网络接收到日期请求字符串后,根据字符串格式生...
阅读全文
摘要:套接字基本概念创建套接字套接字在Linux系统中表现位文件描述符,形式上由一个int类型定义的整数表示,套接字的创建通过下面的Linux系统调用函数实现:#include #include //头文件sys/type.h对于某些C的宏是必须的;sys/socket.h...
阅读全文
摘要:TCP/IP网络编程基础由源端建立一条连接到目的端,需要的信息包括:源IP、源端口、目的IP和目的端口共四个参数,这四个参数又称为套接字对(socket pair),它标识了通过TCP/IP协议通信的双方。客户端/服务器编程模型客户端是指运行于本地主机上的一个程序,该...
阅读全文