C++
文章平均质量分 89
火雨_Nick
喜欢IT和机械
展开
-
二维图形视见与裁剪
二维图形视见与裁剪一.目的: 1.理解、巩固线段裁剪的含义。 2.掌握Cohen-Sutherland线段裁剪方法。二.要求: 1.在屏幕上绘制出较简单的几何图形。 2. 用Cohen-Sutherland算法实现线段裁剪,并将裁剪结果在显示窗口显示出来。 3. 用Sutherland-Hodgema算法(多边形裁减算原创 2015-12-23 18:26:05 · 1670 阅读 · 0 评论 -
最短路径Dijkstra算法
最短路径Dijkstra算法 最短路径的Dijkstra算法的基本思想是:设S为最短路径已确定的顶点集,V-S是最短距离尚未确定的顶点集。初始时,将源点V0添加到顶点集S中,即S={V0}。在当前顶点集V-S中选择一个最短路径最小的顶点来扩充顶点集S,以保证算法按路径长度递增的次序产生各顶点的最短路径。 其程序如下: #include #i转载 2016-03-13 22:44:34 · 1414 阅读 · 2 评论 -
图的深度优先和广度优先搜索算法
图的深度优先和广度优先搜索算法 1.图的深度优先搜索算法: 图的深度优先搜索算法的基本思想是:从图G的某个顶点V0出发,访问V0,然后选择一个与V0相邻且未被访问过的顶点Vi访问,再从Vi出发选择一个与Vi相邻且未被访问的顶点Vj进行访问,依此下去,直到当前被访问过的顶点的所有邻接顶点都已被访问,则按相反顺序退回到已访问的顶点序列中,如果其中的顶点还存在未被访转载 2016-03-13 16:21:33 · 6677 阅读 · 2 评论 -
Cygwin环境的熟悉和lex的使用2
熟悉cygwin环境的使用,使用lex写简单的词法分析程序,会在cygwin环境下使用flex调试lex写的程序。增加string记号。string是字符串,如果”出现在字符串中,则必须转义,写成\”形式;如果\出现在字符串中,也必须转义,写成\\形式。原创 2015-12-25 21:13:13 · 2072 阅读 · 0 评论 -
三维图形变换与投影
三维图形变换与投影:Open GL,空间三维坐标系,空间球,立方体和三角形,4次齐次坐标,透视投影规格化裁剪算法实现三维图形裁剪。原创 2015-12-23 18:48:01 · 6463 阅读 · 1 评论 -
二维图形变换
二维图形变换一.目的: 1.了解不同的二维坐标变换公式。 2.掌握二维坐标变换公式的使用方法。 3.掌握二维图形的基本几何变换:平移、旋转和缩放。 二.要求: 1.在屏幕上绘制出较简单的几何图形。 2.对1的图形进行平移变换(每次平移一个单位),绘制出变换后的几何图形。 3.对1的图形进行旋转原创 2015-12-22 22:40:57 · 11804 阅读 · 0 评论 -
区域填充算法
区域填充算法:有序编表法,种子填充算法。原创 2015-12-20 21:28:16 · 3592 阅读 · 0 评论 -
基本图形生成算法
基本图形生成算法DDA和Bresenham直线段生成算法;Bresenham圆弧生成算法。原创 2015-12-20 21:09:50 · 5705 阅读 · 1 评论 -
计算机图形学OpenGL——键盘控制三维汽车
计算机图形学OpenGL — —键盘控制三维汽车 最终实现效果: 源代码:#includ原创 2015-12-19 22:51:13 · 11242 阅读 · 0 评论 -
求最小生成树Kruskal算法
求最小生成树Kruskal算法 在VS2010中新建C++ Win32 控制台应用程序项目,创建结果截图: Kruskal算法的基本思想是:将图G中的边按权值从小到大的顺序依次添加,如果添加的边使生成树T构成回路,则将其舍弃,依此下去,直到T中包含的边数为n-1条边为止,此时的T即为最小生树。 为了方便输出,将最小生成树的输入格转载 2016-03-14 22:03:19 · 1589 阅读 · 0 评论 -
广义表的创建与打印
广义表的创建与打印 1.广义表的创建: 广义表可以通过下面的递归方式进行定义。 基本项:(1)广义表为空表,当s为空时;(2)广义表为原子结点,当s为单字符串时。 归纳项:假设Subs为S去掉最外层括号对的串,记作“S1,S2,...,Sn”,其中Si(i=1,...,n)为非空字符串。对每个Si建立表结点,并令其hp域的指针为由Si建转载 2016-03-16 23:05:45 · 7568 阅读 · 1 评论 -
哈夫曼树的创建和编码
哈夫曼树的创建和编码 1.哈夫曼树又称最优二叉树,是一类带权路径长度最短的树。 对于最优二叉树,权值越大的结点越接近树的根结点,权值越小的结点越远离树的根结点。 最优二叉树的构造算法步骤: (1)根据给定的n个权值w1,w2,...,wn构成n棵二叉树森林F={T1,T2,...,Tn},其中每一棵二叉原创 2016-03-19 21:30:16 · 41570 阅读 · 2 评论 -
Linux进程控制
Linux进程控制:fork系统调用,getid,lockf,wait,exit,return函数。原创 2015-12-24 22:21:05 · 3495 阅读 · 1 评论 -
有向图的拓扑排序
有向图的拓扑排序 有向图的拓扑排序的基本思想是:首先在有向图中选取一个没有前驱的顶点,将其输出,从有向图中删除该顶点,并且删除以该顶点为尾的所有有向图的边。重复以上的步骤,直到图中的所有顶点均输出或是图中的顶点均没有前驱为止。对于后者,说明有向图中存在环,不能进行拓扑排序。 VS2010下C++ Win32 控制台应用程序,代码如下: #include转载 2016-03-15 23:01:41 · 36279 阅读 · 2 评论 -
快速排序算法
快速排序算法 本文参考清华大学出版社《数据结构与算法(C语言版)(第三版)》,详情请见书本。 快速排序是已知排序算法中速度最快的。 快速排序对序列S进行排序分成以下4步: (1)如果S中只有1或者0个元素,则返回。 (2)在S中任意取一个元素v,称为枢纽元(pivot)。 (3)将S-{v原创 2016-03-28 23:40:19 · 1716 阅读 · 0 评论 -
单链表的创建算法
单链表的创建算法 当一个序列中只含有指向它的后继结点的链接时,就称该链表为单链表。 单链表的示意图如下: Head指针为单链表的头指针,单链表L:L既是单链表的名字,也是其头指针。链表中的最后一个结点的指针域定义为空指针(NULL)。 单链表原创 2016-03-26 23:34:51 · 51853 阅读 · 5 评论 -
二叉排序树(BST)构造与应用
二叉排序树(BST)构造与应用 二叉排序树(BST):又称二叉查找树,其定义为:二叉排序树或者是空树,或者是满足以下性质的二叉树。 (1) 若它的左子树非空,则左子树上所有记录的关键字均小于根记录的值。 (2) 若它的右子树非空,则右子树上所有记录的关键字均大于根记录的值。 (3) 左、右子树本身又各是一棵二叉排序树。转载 2016-03-20 23:23:46 · 26357 阅读 · 5 评论 -
二叉树遍历算法总结
二叉树遍历算法总结 A. 二叉树的遍历 1.前序遍历二叉树: (1)若二叉树为空,则为空操作,返回空。 (2)访问根结点。 (3)前序遍历左子树。 (4)前序遍历右子树。 a.二叉树前序遍历的递归算法: void PreOrderTraverse(BiTree B转载 2016-03-20 18:43:19 · 13022 阅读 · 0 评论 -
趣味C++
用三段 140 字符以内的代码生成一张 1024×1024 的图片 Kyle McCormick 在 StackExchange 上发起了一个叫做TweetableMathematical Art 的比赛,参赛者需要用三条推这么长的代码来生成一张图片。具体地说,参赛者需要用 C++ 语言编写 RD 、 GR 、 BL 三个函数,每个函数都不能超过 140原创 2015-09-06 20:48:34 · 2042 阅读 · 0 评论