題目要求:
實現乙個佇列。佇列的應用場景是:乙個生產者執行緒將int型的數入列,乙個消費者執行緒將int型的數出列。
參考資料: 程式設計之美1.10
題目分析:
可以按照作業系統中的生產者與消費者模型來實現**,大致思路如下:
void producer(void)
}void consumer(void)
}
**實現:
**:思路與上面的分析有些不同,可以參考**和除錯來理解。
/*-----------------------------
-------------------------------*/
#include #include #include #include #include using namespace std;
handle g_hsemaphore = null; //訊號量
const int g_i32pmax = 100; //生產(消費)總數
std::queueg_queuepv; //生產入隊,消費出隊
//生產者執行緒
unsigned int __stdcall producerthread(void* pparam)
return 0;
}//消費者執行緒
unsigned int __stdcall customerthread(void* pparam)
//消費結束
cout << "working end." << endl;
return 0;
}void pvoperationgo()
int main(void)
微軟面試100題之第6題
給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。上排的十個數如下 0,1,2,3,4,5,6,7,8,9 舉乙個例子,數值 0,1,2,3,4,5,6,7,8,9 分配 6,2,1,0,0,0,1,0,0,0 0在下排出現了6次,1...
微軟面試100題演算法(1)實現乙個字元匹配
問題 實現乙個挺高階的字元匹配演算法 給一串很長字串,要求找到符合要求的字串,例如目的串 123 1 3 2 12 3這些都要找出來 其實就是類似一些和諧系統。分析 這題的真正意思就是,給你乙個目標串,如 123 只要乙個字串裡面同時包含1 2和3,那麼這個字串就匹配了。系統越和諧,說明錯殺的可能行...
第3題 兩個佇列生成乙個棧
想要實現兩個佇列生成乙個棧,需要先了解佇列和棧的特性 使用兩個佇列生成乙個棧的實現思路為 實現如下 usr bin env python coding utf 8 import queue class stack object def init self self.master queue queu...