![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 76
Happyunlim
敬畏每一行代码,敬畏每一份托付。
展开
-
两个多项式相加——C语言
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int coef;//系数 int expn;//指数 struct Node *next;}LNode; //LNode为创建的多项式链表类型 struct elem{ int ...原创 2018-07-08 09:26:26 · 9728 阅读 · 1 评论 -
计算后缀表达式——C语言实现
程序相对简单易懂,运行程序,在命令行中输入:123+*#(注意:由于输入字符,以‘#’结束)输出:5.000000#include <stdio.h>#include <stdlib.h>typedef struct{ float *base; float *top; int StackSize;}Stack;//创建一个栈,100为Maxsize,#d...原创 2018-07-07 17:56:49 · 6317 阅读 · 0 评论 -
KMP字符串匹配
源代码:#include<stdio.h>typedef struct{ char ch; int len;}string;int next[100];int local[100];int address;//构造字符串 void CreateString(string s[]){ int i=0; char c; c=getchar(); whil...原创 2018-07-11 16:10:33 · 321 阅读 · 0 评论 -
图书管理系统——C++实现
Book.h头文件#pragma once#define NUM1 128#define NUM2 50#define Col 80#define Line 25#include<iostream>#include<iomanip>#include<cstdio>#include<cstdlib>using namespace st...原创 2018-07-10 21:58:19 · 8781 阅读 · 3 评论 -
基于C#的简单聊天软件开发
系统功能1) 统一用户登录:用户登录验证、用户基本信息保存在服务器; 2) 系统消息发送:系统可发送消息到每个连接用户,可发送离线消息,当用户登录后提示;可以查看聊天记录;3) 用户间聊天:可选择在线用户或查找某用户进行单独聊天;4) 群聊:选择几个在线用户建立讨论组聊天;5) 聊天记录查看:可查看与某用户的历史聊天记录、群聊天记录;6) 好友、用户分组:可选择某些用户为好友、并进行好...原创 2018-07-09 00:11:47 · 4818 阅读 · 15 评论 -
Cohen-SutherLand直线裁剪算法
算法原理(递归的裁剪过程):对于每条线段P1P2分为三种情况处理:(1)若P1P2完全在窗口内,则显示该线段P1P2。(2)若P1P2明显在窗口外,则丢弃该线段。(3)若线段不满足(1)或(2)的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 为快速判断,采用如下编码方法: 由窗口四条边所在直线把二维平面分成9个区域(右图),每个区...原创 2018-07-09 00:11:15 · 10047 阅读 · 1 评论 -
二维几何变换算法
l 平移变换只改变图形的位置,不改变图形的大小。l 旋转变换不改变图形的形状l 放缩变换引起图形形状的变化。 复合变换结果与变换的顺序有关(矩阵乘法不可交换)例:对一矩形先缩放S(2,0.5),再旋转R(p/6)。 对称变换关于x轴的对称变换: 关于y轴的对称变换: 例:设有一三角形ABC,其中三个顶点为A(5,10),B(1,2),C(8,5),求对于直线-2x+3y+3=0的对称变换后的图...原创 2018-07-09 00:11:28 · 3333 阅读 · 0 评论 -
区域填充之扫描线算法
利用相邻像素之间的连贯性,提高算法效率。根据多边形内部点的连续性知:一条扫描线与多边形的交点中,入点和出点之间所有点都是多边形的内部点。所以,对所有的扫描线填充入点到出点之间所有的点就可填充多边形。(1)处理对象:非自交多边形(边与边之间除了顶点外无其它交点)判断扫描线上的点是否在多边形之内,根据多边形区域连续性,分为3个步骤:– 求出扫描线与多边形所有边的交点;– 把这些交点的x坐...原创 2018-07-08 12:40:02 · 5110 阅读 · 0 评论 -
中点画圆、椭圆算法
首先是中点画圆法,考虑圆心在原点,半径为R的圆在第一象限内的八分之一圆弧,从点(0, R)到点(R/ , R/ )顺时针方向确定这段圆弧。假定某点Pi(xi, yi)已经是该圆弧上最接近实际圆弧的点,那么Pi的下一个点只可能是正右方的P1或右下方的P2两者之一,构造判别函数:F(x, y)= x2 + y2 – R2 当F(x, y)= 0,表示点在圆上,当F(x, y)&g...原创 2018-07-08 12:31:01 · 4340 阅读 · 0 评论 -
Bresenham画线算法
与DDA算法相似,Bresenham画线算法也要在每列象素中找到与理想直线最逼近的象素点。 根据直线的斜率来确定变量在x或y方向递增一个单位。另一个方向y或x的增量为0或1,它取决于实际直线与最接近网格点位置的距离。这一距离称为误差。算法的巧妙构思,使每次只需检查误差项(增量)的符号即可。定义决策变量:d =d+k (0<k<1) 设0<k...原创 2018-07-08 12:25:23 · 1890 阅读 · 0 评论 -
磁盘调度算法设计与实现——C语言
一、设计分析共享设备的典型代表为磁盘,磁盘物理块的地址由柱面号、磁头号、扇区号来指定,完成磁盘某一个物理块的访问要经过三个阶段:寻道时间Ts、旋转延迟时间Tw和读写时间Trw。寻道时间Ts是磁头从当前磁道移动到目标磁道所需要的时间;旋转延迟时间Tw是当磁头停留在目标磁道后,目标物理块从当前位置旋转到磁头位置的时间;读写时间Trw是目标物理块内容与内存中对应交换的时间。磁盘调度的原则是公平和高吞吐量...原创 2018-07-08 10:54:41 · 15002 阅读 · 3 评论 -
小型员工管理系统——C语言链表实现
#include<cstdio>#include<cstring>typedef struct Node{ int no; char* name; double salary; int age; char* birth; Node* next;};void create(Node* s,int no,char* name,double salary,in...原创 2018-07-08 10:39:08 · 2573 阅读 · 1 评论 -
小型员工管理系统——C语言数组实现
#include<cstdio>#include<cstring>const int maxn=103;char name[maxn][maxn];char birth[maxn][maxn];void insert(int no[maxn],double salary[maxn],int age[maxn],int &count){ int no1,...原创 2018-07-08 10:28:55 · 1338 阅读 · 0 评论 -
Huffman编码
请输入编码的字符个数:8请输入各字符及对应的出现频率:a 78c 23e 651 109r 347 89d 23t 56result:1 : 017 : 00a : 110c : 11111d : 11110e : 101r : 1110t : 100#include <stdio.h>#include <stdlib.h> #include <algorithm...原创 2018-07-08 10:15:35 · 1082 阅读 · 0 评论 -
创建哈希表、查找及计算平均查找长度
#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct //元素类型定义{ int value; //元素值 int hi; //冲突次数}DataType;typedef struct //哈希表类型定义{ DataType *data; int l...原创 2018-07-08 10:11:58 · 3421 阅读 · 1 评论 -
队列迷宫问题
此程序使用了队列这一数据结构,可以根据自己的需要构造迷宫地图,可以自由定义迷宫的大小,障碍物的位置(“1”表示无障碍,“0”表示障碍),迷宫的起点和终点,根据队列找到迷宫路径,话不多说,先上代码。#include <stdio.h>#include <stdlib.h>int a,b;//map大小: a*b //定义队列指针 typedef struct Nod...原创 2018-07-07 18:16:44 · 1990 阅读 · 0 评论