一般我们讲,都说进程有文件描述符表,文件描述符表中的指针指向某个inode,这中间省略了file,dentry对象,对准确理解VFS结构无益,本文结合网络所查,并根据APUE8.3和LKD13.11章节校对,总结在下,希望有用。 内核中,对应于每个进程都有一个文件描述符表,表示这个进程打开的所...
分类:
系统相关 时间:
2014-12-10 12:17:08
阅读次数:
243
#define maxSize 10//节点类型class VNode{public: int no; char info;};//图类型class MGraph{public: float edges[maxSize][maxSize];//float表示权值 int n,e; VNode vex...
分类:
其他好文 时间:
2014-09-14 16:42:17
阅读次数:
213
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
由于数组是递增有序的,每次都在中间创建结点,类似二分查找的方法来间最小树。
struct TreeNode
{
int data;
TreeNode* leftChild;
TreeNode* rightChild;
};
void newNode(TreeNode*& vNode, int vData)
{
vNode...
分类:
其他好文 时间:
2014-08-30 02:24:58
阅读次数:
260
//以下全部调试通过,你在窗体扔一个Treeview就行了procedure GetRootNodes(ATreeView:TTreeView);//得到所有根节点var vNode:TTreeNode;begin vNode:=nil; vNode:=ATreeView.Items.GetFirs...
分类:
其他好文 时间:
2014-08-27 10:34:47
阅读次数:
202
呵呵,这个题不能直接删除已知的结点,因为是单链表,不知道前驱,只知道
后继结点,直接删除会使链表断开。不过我们可以删除已知结点的后继结点,
把后继结点的值赋值给已知结点。
#include
struct Node
{
int data;
Node* next;
};
bool removeNode(Node* vNode)
{
if (vNode == NULL || vNo...
分类:
其他好文 时间:
2014-08-20 01:25:45
阅读次数:
174
我们维护两个指针, 它们之间的距离为n。然后,我将这两个指针同步地在这个单链表上移动,保持它们的距离 为n不变。那么,
当第二个指针指到空时,第一个指针即为所求。
#include
struct Node
{
int data;
Node* next;
};
void initList(Node* vNode)
{
for (int i=0; i < 20; ++i)
{...
分类:
其他好文 时间:
2014-08-19 01:00:33
阅读次数:
257
这里用邻接表实现图的深度优先遍历,采用递归实现。
#include
using namespace std;
#define VERTEXNUM 5//结点数
struct edgenode
{
int to;
int weight; // 边的权值
edgenode *next;
};
struct vnode
{
int from...
分类:
其他好文 时间:
2014-05-11 20:46:16
阅读次数:
519