00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __PACK_HEURISTICS_H__
00029 #define __PACK_HEURISTICS_H__
00030
00031 #include "FreeSpace.h"
00032 #include "FreeBlock.h"
00033
00034 #include <LEDA/string.h>
00035
00036 class PackHeuristics
00037 {
00038 public:
00039 PackHeuristics();
00040 ~PackHeuristics();
00041
00042
00043
00044 int FindFreeBlock(FreeSpace& aFreeSpace, int aVesLength,
00045 FreeBlock& aFreeBlock, string aPackAlgo,
00046 int& aPosition);
00047
00048
00049
00050 int FindFreeBlock(FreeSpace& aFreeSpace, int aVesLength,
00051 FreeBlock& aFreeBlock, string aPackAlgo);
00052
00053
00054 int First_Fit(FreeSpace& aFreeSpace, int aVesLength,
00055 FreeBlock& aFreeBlock);
00056
00057 int Best_Fit(FreeSpace& aFreeSpace, int aVesLength,
00058 FreeBlock& aFreeBlock);
00059
00060 int Worst_Fit(FreeSpace& aFreeSpace, int aVesLength,
00061 FreeBlock& aFreeBlock);
00062
00063 int Random_Fit(FreeSpace& aFreeSpace, int aVesLength,
00064 FreeBlock& aFreeBlock);
00065
00066
00067 int Next_Fit(FreeSpace& aFreeSpace, int aVesLength,
00068 FreeBlock& aFreeBlock, int& aPosition);
00069 };
00070
00071 #endif