xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 4.45MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-16
  • 語言: 其他
  • 標簽: 插隊??

資源簡介

好朋友之間的插隊,用哈希表數據結構來實現的

資源截圖

代碼片段和文件信息

/*
本實驗假設售票大廳有多個售票窗口,無論到哪個窗口買票都必須排隊,但是新來的人不一定排在隊尾,允許插隊(即直接排在朋友的后面)。
假設已經在排隊的人不會離開,也不會移到其他隊伍去。買到票的人依次出隊。每個人僅買一次票,買完票就離開。每個人都有名字。
每個來買票的人先進行觀察判斷:
 1.如果所有的隊伍中都沒有發現朋友,則選擇最短的隊伍排在其隊尾;
?2.如果所有的隊伍中僅發現一個朋友,則可以(不是必須)插在此朋友的后面;但是,插隊前應考查是否合算,
?插入此位置離售票窗口的距離(即隊伍前面的人數)必須小于其他隊伍的長度,否則應選擇最短的隊伍排在其隊尾;
? 3.如果所有的隊伍中發現多個朋友,這種情況就比較復雜:
?? ?。?) 如果多個朋友是集中在一個隊伍里,則可以插在最后那個朋友的后面;
 ?。?) 如果多個朋友是分散在多個隊伍里,則插隊的原則是離售票窗口最近;
?? 4.如果朋友排在隊伍的第一位(即隊首),則不允許插隊;
??? 
本實驗要求編寫程序模擬這種排隊買票時允許插隊的情形。要求程序中應用散列表來存放和查找數據,應用求余法構造合理的散列函數
,應用平方探測法來解決Hash映射的沖突現象。程序可能需要四個文本文件:
?。?)初始化文件input.txt,包含售票窗口及其購票隊伍的初始設置
??。?)朋友組文件friend.txt,同一個名字也可能出現在不同的組
??(3)來購票的人的完整名單people.txt,其中包含出現在friend.txt中的名字;文件中名字的順序表示不同的到來順序;
??文件中每行有一個名字,如果某行有多個名字則表示他們同時到達售票廳(這是比較復雜的情形)
??(4)售票結果文件output.txt(按售票窗口分組顯示),可以考慮各窗口賣票的節奏(即售票員的售票速度)

??本實驗訓練的內容包括六個方面:
?? 1.面向對象程序設計方法,類模板的應用;
??? 2.散列表(Hash?Table)的應用,隊列(或鏈表)的應用;
 3.應用求余法構造合理的散列函數;
? 4.應用平方探測法解決Hash映射的沖突現象;
?? 5.文件的讀寫操作;
???6.程序測試計劃、用例的設計和測試方法。
???*/
#include
#include
#include
#include
#include
#include
#include
#include
using?namespace?std;
const?int?window_number=4;
const?int?max_friend_group=100;

class?Hash_
{
private:
int?what_group;??????//該人所在的朋友組號
string?name;??????
int?times;???//同名沖突次數
bool?is_NULL;???//判斷該存儲位置是否為空

public:
Hash_();
~Hash_();
void?set_what_group(int?what_group);
void?set_name(string?name);
void?set_is_NULL(bool?is_NULL);
string?get_name();
bool?get_is_NULL();
int?get_what_group();
int?get_times(){return?times;}

void?add_times();
};
Hash_::Hash_()
{
what_group=-1;
name=““;
times=0;
is_NULL=true;
}

Hash_::~Hash_()
{
}
int?Hash_::get_what_group()
{
return?what_group;
}
bool?Hash_::get_is_NULL()
{
return?is_NULL;
}
void?Hash_::set_is_NULL(bool?is_NULL)
{
this->is_NULL=is_NULL;
}
void?Hash_::set_name(string?name)
{
this->name=name;
}
void?Hash_::set_what_group(int?what_group)
{
this->what_group=what_group;
}
string?Hash_::get_name()
{
return?name;
}
void?Hash_::add_times()
{
times++;
}


class?Queue;
class?Hash_Table
{

public:
Hash_?_Hash[100];
Hash_Table();
~Hash_Table();
//friend?bool?Queue::find_myself_position(string?nameint?what_window);???
void?set_size();
int?get_Hash_Value(string?str);?????????//取得哈希函數對應的哈希值
void?create_Hash_Table();???????//構建哈希表
void?deal_Conflict(int?positionstring?strHash_?&_hash);?????????????//平方探測法解決沖突
};
Hash_Table::Hash_Table()
{
}
Hash_Table::~Hash_Table()
{
}
int?Hash_Table::get_Hash_Value(string?str)??
{??
int?b?=?551;??
int?a?=?689;??
long?hash?=?0;??
string::iterator?_it;
for(_it=str.begin();_it!=str.end();_it++)??
{??
hash?=?hash?*?a?+?(*_it)*10;
a????=?a?*?b;??
}??
return?hash%97;??
}??

void?Hash_Table::deal_Conflict(int?positionstring?strHash_?&_hash)
{
int?i;
if(_Hash[position].get_name()==str)
_Hash[position].add_t

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-05-15?00:17??來插隊吧\
?????目錄???????????0??2013-05-15?00:16??來插隊吧\Debug\
?????文件??????172544??2013-05-15?00:16??來插隊吧\Debug\來插隊吧.exe
?????文件??????700096??2013-05-15?00:16??來插隊吧\Debug\來插隊吧.ilk
?????文件?????1502208??2013-05-15?00:16??來插隊吧\Debug\來插隊吧.pdb
?????目錄???????????0??2013-05-14?23:50??來插隊吧\來插隊吧\
?????文件???????10599??2013-05-15?00:17??來插隊吧\來插隊吧\1.cpp
?????文件????????3341??2013-05-14?22:09??來插隊吧\來插隊吧\1.dsp
?????文件?????????510??2013-05-14?22:10??來插隊吧\來插隊吧\1.dsw
?????文件???????41984??2013-05-14?22:10??來插隊吧\來插隊吧\1.ncb
?????文件???????48640??2013-05-14?22:10??來插隊吧\來插隊吧\1.opt
?????文件?????????678??2013-05-14?22:10??來插隊吧\來插隊吧\1.plg
?????目錄???????????0??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\
?????文件??????622654??2013-05-14?22:09??來插隊吧\來插隊吧\Debug\1.exe
?????文件??????870000??2013-05-14?22:10??來插隊吧\來插隊吧\Debug\1.ilk
?????文件??????689038??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\1.obj
?????文件?????3562652??2013-05-14?22:09??來插隊吧\來插隊吧\Debug\1.pch
?????文件?????1229824??2013-05-14?22:09??來插隊吧\來插隊吧\Debug\1.pdb
?????文件????????7756??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\CL.read.1.tlog
?????文件?????????210??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\CL.write.1.tlog
?????文件?????????522??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\cl.command.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link-cvtres.read.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link-cvtres.write.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link-rc.read.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link-rc.write.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link.2172-cvtres.read.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link.2172-cvtres.write.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link.2172-rc.read.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link.2172-rc.write.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link.2172.read.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\link.2172.write.1.tlog
............此處省略84個文件信息

評論

共有 條評論