book.h

来自「经典c++程序的实现」· C头文件 代码 · 共 105 行

H
105
字号
#define DOS 0
#define VC  0

#ifdef UNIX       // Timing includes 
#include <time.h>
#include <sys/types.h>
#include <sys/times.h>
#include <sys/time.h>
#endif

#ifdef DOS        // Timing includes
#include <time.h>
    #ifdef VC
    #include <stdlib.h> 
    #endif
    #ifdef BORLAND
    #include <bios.h>
    #endif
#endif

#define FALSE 0
#define TRUE 1
#define LIST_SIZE 10  // size for lists if no size is given.
/*
#ifdef DOS
typedef int bool; 
#endif
*/
// Random number generating functions -- make consistent in both
// environments

#ifdef UNIX
    #ifdef DEC
    extern "C" { // DEC's stdlib is fouled, and does not have these prototypes
    void srandom(int);
    int random(void);
    };
    #endif
#define Randomize() srandom(1)
#define Random(n) (random() % (n)) // Return an integer in the range 0 to n-1
#endif

#ifdef DOS
    #ifdef BORLAND
    #define Randomize() randomize()
    #define Random(n) random(n)
    #endif
    #ifdef VC
    #define Randomize() ;
    #define Random(n) rand()%n
    #endif
#endif

#ifdef UNIX         // Timing defines
#define inittime()   time_t time1, time2;  struct tms t1, t2
#define starttime()  times(&t1);   time1 = time((time_t *)0)
#define stoptime()   times(&t2);   time2 = time((time_t *)0)
#define printtime()  cout << "Utime: "\          << (double)(t2.tms_utime - t1.tms_utime)/60.0\
          << ", Stime: "\
          << (double)(t2.tms_utime - t1.tms_utime)/60.0\
          << ", wall time: " << time2 - time1 << "\n"
#endif

#ifdef DOS         // Timing defines
    #ifdef BORLAND
    #define inittime()   long tinit; long tfin
    #define starttime()  tinit = biostime(0, 0L)  // get start time
    #define stoptime()   tfin = biostime(0, 0L)   // get stop time
    #define printtime()  cout << "Time is: " << (tfin - tinit) << " clock ticks\n"
    #endif	
    #ifdef VC
	/*
    #define inittime()   long tinit; long tfin
    #define starttime()  _bios_timeofday(_TIME_GETCLOCK, &tinit)  // get start time
    #define stoptime()   _bios_timeofday(_TIME_GETCLOCK, &tfin)   // get stop time
	#define inittime()   time_t time1, time2;  struct tms t1, t2
	*/
    #define inittime()   time_t time1, time2;
    #define starttime()  time1 = time((time_t *)0)
    #define stoptime()   time2 = time((time_t *)0)
    #define printtime()  cout << "Time is: " << (time2 - time1) << " second\n"
    #endif
	/*
    #ifdef VC
    #define inittime()   long tinit; long tfin
    #define starttime()  _bios_timeofday(_TIME_GETCLOCK, &tinit)  // get start time
    #define stoptime()   _bios_timeofday(_TIME_GETCLOCK, &tfin)   // get stop time
    #endif
	*/
#endif

#ifndef KEYDEF
#define key(X) (X)
#endif

#define even(X) (!((X)%2))

#define INFINITY 30000

#define ROOT -1           // used for UNION/FIND

#define VISITED 1
#define UNVISITED 0
#define NOEDGE -1

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?