- 博客(14)
- 资源 (16)
- 收藏
- 关注
原创 MATLAB语言中的assert断言函数
MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning。由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行。在matlab中经常使用到这样的代码:if c<0 error(['c = ' nu
2011-08-07 23:35:55
29973
原创 函数:以当前时间为文件名的生成
今天上午编写程序时,发现要经常存盘,但是相同的文件自动存盘时文件名又相同,因此做了一个自动将当前的时间转换为待存盘文件名来进行存盘,函数文件名为 now_filename.m, 先写函数内容吧: %----------------------filename: now_filename.m -----------------------function [ fname ] = now_
2010-02-12 10:19:00
2716
原创 过河问题的图论解法
有一个人带着一条狗、一只兔子、一篮白菜来到河边。河水很深,已经齐半腰,所以他每次只能带一样东西过河。但是当人不在时,狗要咬兔子,兔子要吃白菜,请问他该怎样过去? 当然我们用常用的方法也能解出来,但是考虑到通用性,我们还是用图论的方法解决。首先我们将四个对象在河的两边分别的所有可能的状态列举出来(因为只有人能够划船,所以在河中间的过程不用考虑),那么四个对象可能的状态就是2^4=16种,我
2007-03-31 10:46:00
8329
原创 关于线性链表的一些操作
线性链表是数据结构中的第一个概念, 也是最基本的概念。如果对线性链表的操作不熟悉,就说明你对指针、算法等不甚了解,或者说对C语言的精髓、算法的初步都未入门。下文给出的一个线性表的示例,给大家演示线性表的操作,让大家熟悉对指针、链表的操作。该程序中大部分的代码都是标准操作,各种数据结构相关的教科书中都有,不过采用的不一定是C语言而已,但不是很难,所以不加任何介绍,只是在程序中给出响应的注释。
2007-03-30 14:44:00
1799
原创 银行家算法(多项资源)
银行家算法(单项资源) 文中给出了单项资源的银行家算法。本文给出的是多种资源的银行家算法。在本质上,单项资源的银行家算法和多种资源的银行家算法没有什么区别,只是书写起来有一点点不同(用C的语法,如果用C++的语法几乎可以写得一模一样)。有关银行家算法的问题大家可以看银行家算法(单项资源) 内容,在此不在赘述。此处只给出源码供大家参考。不过里面有一个定义// 定义RES_VECTO
2007-02-02 13:09:00
5906
原创 银行家算法(单项资源)
银行家算法是操作系统课程里面为数不多的几个算法之一,理解银行家算法对理解进程的死锁有很大的帮助。而银行家算法本身并没有太复杂的计算,只是在理解上有一个问题稍微难一点。 算法在执行过程中要求 1:每次在“未执行完”进程中找到一个可以满足要求的进程来执行 2:如果当前状态下所有进程都能够执行完,才表示该状态是安全的。 上面的第二点比较容易被忽视。下面是算
2007-02-02 13:01:00
4434
原创 如何获取本机所有MAC地址
// need include file: #include // need libary: Netapi32.lib int GetAllLocalAdapterMacAddr(std::liststd::vector char> >& mac){ NCB ncb; LANA_ENUM AdapterList; memset(&ncb, 0, si
2004-02-26 10:51:00
2209
原创 读者——写者问题
#include #include #include "Reader-Writer.h"#include "Semaphore.h" // 这是 Windows 下多线程工作的 P 操作#define P(S) WaitForSingleObject(S, INFINITE) // 这是 Windows 下多线程工作的 V 操作#define V(S) R
2003-09-26 22:55:00
2682
3
原创 Makefile编写小说(一)
Makefile的编写 开始使用Linux编程时,一个很讨厌的问题就是如何写Makefile文件,由于在Linux下不像在Windows下那么熟悉,有那么多好的软件(也许是对Linux孤陋寡闻了)。虽然象Kylix和Anjuta这样的集成编译环境,但是Kylix太大太慢,用它编写console程序不亚于高射炮打蚊子——大材小用,而Anjuta又太不稳定,况且字体有那么难看。不说了,还是言归
2003-06-26 10:57:00
2329
2
原创 typedef使用大全1(数组)
typedef到处都是,但是能够真正懂得typedef使用的不算太多。对于初学者而言,看别人的源码时对到处充斥的typedef往往不知所错,而参考书又很少,所以在此给出一个源码,供大家参考 #include #include /* 避免Visual C的for与标准for的不同 */#define for if (0); else for /* di
2003-06-02 17:51:00
2988
3
原创 typedef 使用大全2(结构体)
续 数组#define S(s) printf("%s/n", #s); s typedef struct _TS1{ int x, y;} TS1, *PTS1, ***PPPTS1; // TS1是结构体的名称,PTS1是结构体指针的名称// 也就是将结构体struct _TS1 命名为TS1, // 将struct _TS1 * 命名为 PTS1//
2003-05-30 15:50:00
2653
2
原创 typedef使用大全3(指向函数的指针)
在typedef的使用中,最麻烦的是指向函数的指针,如果没有下面的函数,你知道下面这个表达式的定义以及如何使用它吗? int (*s_calc_func(char op))(int, int); 如果不知道,请看下面的程序,里面有比较详细的说明 // 定义四个函数int add(int, int);int sub(int, int);int mul(
2003-05-30 15:46:00
3546
3
原创 哈夫曼二叉树源码
哈夫曼二叉树源码:给定一个字符串,根据统计字符串中各个字符出现的频率对字符进行哈夫曼编码,然后对原字符串进行编码,并输出编码后的内容——数据结构#include #define MAX_NODE 1024#define MAX_WEIGHT 4096 typedef struct HaffmanTreeNode { char ch, code[15];
2003-05-26 13:50:00
4262
2
原创 链表操作源程序
链表,是数据结构的基础。利用链表,我们可以很好的实现数据的管理。但是我们经常在网上看见各式各样的有关链表的问题,在此我给出了一个比较简单但是功能比较强大的程序来给大家显示关于链表的编程。如果你很深入的了解了下面程序的工作原理,说明你对链表的理解就算过关了,如果不能,请仔细阅读一下下面的程序,特别注意程序指针的修改顺序。 特别是链表的倒置程序,不超过10行就搞定了,还没有额外的申请空间,何乐
2003-03-19 09:16:00
3452
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人