- 浏览: 291436 次
- 性别:
- 来自: 武汉
最新评论
-
zh1159007904:
大侠,你这个程序的递归部分看不懂,能不能麻烦解释一下递归的思路 ...
求21位水仙花数(C语言实现) -
shenma_IT:
我是一楼的神马_CS哦 再次表示感谢!!
求21位水仙花数(C语言实现) -
shenma_IT:
好 万分感谢 !!
求21位水仙花数(C语言实现) -
Touch_2011:
shenma_CS 写道你好! 我看了你的代码 有好多让我佩服 ...
求21位水仙花数(C语言实现) -
Touch_2011:
乘法是模拟数学上两个数相乘,但在处理进位方面可能有点不同。比如 ...
求21位水仙花数(C语言实现)
文章列表
/*
* 构造一颗二叉查找树,实现树的插入、删除等基本操作
*
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int count; //记录某个元素出现的次数
int data; //数据
struct node * left;
struct node * right;
}Node,*PNode;
int array[100]; //按序保存遍历后的元素
int k=0; //数组array长度
//初 ...
/*
* 题目:给定一个全部由字符串组成的字典,字符串全部由大写字母构成。其中为每个字符串编写密码,编写的
* 方式是对于 n 位字符串,给定一个 n 位数,大写字母与数字的对应方式按照电话键盘的方式:
* 2: A,B,C 5: J,K,L 8: T,U,V
* 3: D,E,F 6: M,N,O 9: W,X,Y,Z
* 4: G,H,I 7: P,Q,R,S
* 题目给出一个1--12位的数,找出在字典中出现且密码是这个数的所有字符串。字典中字符串的个数不超过5000。
...
/* * 题目:英语词典。所有的单词存放在dictionary.txt中。输入一个英文单词,在词典中查找这个单词, * 若找到显示这个单词的中文意思,显示此单词不存在。 * 思路:以字母顺序建立索引表。 * */
/*
* 题目:英语词典。所有的单词存放在dictionary.txt中。输入一个英文单词,在词典中查找这个单词,
* 若找到显示这个单词的中文意思,显示此单词不存在。
* 思路:以字母顺序建立索引表。
*
*/
#include<stdio.h>
#include<stdlib.h>
#incl ...
求这个有向网中任意两点的最短路径
/*
* 最短路径,迪杰斯特拉算法和弗洛伊德算法(采用邻接矩阵存储)
*
*/
#include<stdio.h>
#define MAX_VERTEX_NUM 20
#define INFINITE 10000 //当做无穷大
//图的定义
typedef struct
{
int vertexNum;
char vertex[MAX_VERTEX_NUM];
int arc[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
}Graph,*PGraph;
/ ...
对这个有向图进行拓扑排序
/*
* 拓扑排序(采用邻接矩阵存储)
*/
#include<stdio.h>
#define MAX_VERTEX_NUM 20
//图的定义
typedef struct
{
int vertexNum;
char vertex[MAX_VERTEX_NUM];
int arc[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
}Graph,*PGraph;
//构造有向图
void createdGraph(PGraph g)
{
int i,j;
g->ver ...
求这个网的最小生成树
/*
* 普里姆算法和克鲁斯卡尔算法求最小生成树
* 采用邻接矩阵存储
*
*/
#include<stdio.h>
#define MAX_VERTEX_NUM 20
//图的定义
typedef struct
{
int vertexNum;
int edgeNum;
char vertex[MAX_VERTEX_NUM];
int arc[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
}Graph,*PGraph;
//辅助数组元素
typedef struct
{
...
/*
* 邻接表存储的有向图的基本操作
*/
#include<stdio.h>
#include<stdlib.h>
#define MAX_VERTEX 20
typedef char VertexType;
//用数组vertex按序存放遍历的各个顶点,广度遍历时看成队列,深度遍历时看成栈
VertexType vertex[MAX_VERTEX];
//图的边的定义
typedef struct EdgeNode
{
int nextToVertex; //相邻顶点
struct EdgeNo ...
/*
*无向网的基本操作(邻接矩阵存储)
*/
#include<stdio.h>
#define MAX_VERTEX_NUM 20
typedef char VertexType;
typedef struct
{
int vertexNum;//顶点个数
VertexType vertex[MAX_VERTEX_NUM];//顶点信息
int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//邻接矩阵
}GraphMatrix,*PGraphMatrix;
//用数组vertex按序存放遍历的各个顶点,广 ...
思路大致同上一个程序,只是这个用c++的模板实现,实现起来容易一些。
把对指针的操作都封装载模板类里面。这样就避免了很多指针问题。但是相对
与C语言实现,效率要低一些。
可变分区存储管理
问题描述:
编写程序模拟实现内存的动态分区法存储管理。内存空闲区使用自由链管理,采用最坏适应算法从自由链中寻找空闲区进行分配,内存回收时要与相邻空闲区的合并。
初始状态信息:假定系统的内存共640K,初始状态为操作系统本身占用64K。
将要申请内存的作业信息(存储在document/job.txt文件中),当前时间是0。
输入:用户打开document/job.txt文件,输入作业信息。
处理:模拟时间逐歩增加,每次加1.采用先来先服务算法调度作业,模拟作业运行,用最坏适应算法进行内存的分配。且进行内存的回收,注意与空闲分区的合并。直到所以作业运行 ...
网络协议分析工具Wireshark的使用:
1.观察ping命令和tracert命令的工作过程
2.观察TCP连接的建立过程和终止过程
3.观察使用DNS来进行域名解析的过程
word文档已上传
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define MAXNUM 60
typedef struct
{
char ch;
int weight; //权值,这个字符出现的频率
int parent;
int left;
int right;
}HuffNode;
typedef struct
{
char code[MAXNUM];
int start;
}HuffCode;
...
#include<stdio.h>
#include<stdlib.h>
//二叉树的节点定义
typedef struct TreeNode
{
char ch; //数据域
struct TreeNode *lchild; //左孩子
struct TreeNode *rchild; //右孩子
}BTNode,*PBTNode;
//先序构造二叉树
void createBTree(PBTNode *root)
{
char ch;
ch=getchar();
if(ch=='#')
...
由于很多时候要用到栈,队列,栈,于是把它们写成模板。
列表用链表和线性表两种方式实现。
同时栈和队列也是有链式实现和顺序实现 。
/** * 这是一个进程调度模拟的程序,输入阻塞进程的个数和信息,输入就绪进程的个数和信息, * 然后采用时间片轮转法进程调度,在整个调度过程中会有阻塞队列里的进程被唤醒 * 输出进程切换信息和cpu的利用率 * **/