Professional Documents
Culture Documents
h>
//khởi tạo makenode để cấp phát động node mới có kiểu dữ liệu là số nguyên
node MakeNode(int x)
{
//khởi tạo node tmp
node tmp = new Node();
tmp->data = x;
tmp->next = NULL;
return tmp;
}
//hàm main
int main()
{
//Ta sẽ khai báo node đầu tiên hoặc node cuối trong hàng đợi
node back =NULL;
//ta đẩy 2 số 6 và 8 vào hàng đợi
push(back,6);
push(back,8);
//ta sẽ tạo vector để lưu các số lạm phát này
vector<int>lp;
//sử dụng vòng lặp while
while(1)
{
//ta sẽ lấy phần tử ở đầu hàng đợi
//ta khai báo biến top = front(back)
int top = front(back);//lấy ra phần tử ở đầu hàng dợi
pop(back);
string s = to_string(top); //to_tring chuyển tất cả định dạng sang string
//ta kiểm tra nếu có 10 chữ số thì ta sẽ dừng
if(s.size() == 9)
{
break;
}
lp.push_back(top);//hàm đẩy phần tử vào vị trí sau cùng của vector
/*mỗi khi mà ta lấy 1 số nào đó ở đầu hàm đợi thì ta sẽ nối số 6 và số 8 đằng sau như này:
66
6 sau đó 2 số này sẽ dc đẩy vào trong hàng đợi
68
*/
push(back,top*10+6);//sau đó nó sẽ đẩy ra các số có thằng sau là 6 và có thằng sau là 8 số hiện tại
push(back,top*10+8);
}
//in ra màn hình
for(int x : lp)
{
cout << x << " " ;
}
}