[C / C++]スタックとアプリケーション- スタック·チョンC – C言語でスタック

スタックは、挿入および削除は、リストの最後に行われることができ順不同リストであり、我々はこの先端呼び出します (トップ) スタック.

ここで、コードもC ++スタックにより行う操作の数であります

#include <stdlib.h>
#include <stdio.h>
#include <stack> //khai bao Stack
using namespace std; 
int main()
{
	stack <int> S; //Khai bao Stack
	for (int x=0; x<10; x++) //Nhap Stack
		S.push(x*2); //Them phan tu vao Stack
	printf("nDo dai Stack: %d n",S.size()); //Do dai Stack
	while(!S.empty()) //Trong khi danh sach khong rong thi duyet va xuat ra Stack
	{
		int x = S.top(); //lay gia tri Top
		S.pop(); //Loai bo phan tu Top
		printf("%d  ",x); //Xuat ra Stack
	}
	return 0;
}

スタックの応用
スタックは、コンピューティングの多くのアプリケーションを持っています :
– 基数変換 (バイナリ, 10進数, 8進数の,…)
– Postfixに中置式をジャンプ, 計算式の接尾辞,…
今、私たちは学び、インストールされます 2 問題に
– ベースジャンプ: 次のコードは、ベースを転送します 10 ベースのxキーボード入力に

#include <stdlib.h>
#include <stdio.h>
#include <stack> //khai bao Stack

using namespace std; 

int main()
{
	stack <int> S; 
	int coso, so, du, n;
	printf("Nhap so can chuyen: ");
	scanf("%d",&so);
	n = so;
	printf("Nhap co so can chuyen: ");
	scanf("%d",&coso);
	while(so)
	{
		du = so % coso;
		S.push(du);
		so /= coso;
	}
	printf ("So %d trong he %d la : ", so, coso);
	while(!S.empty())
	{
		printf("%d",S.top());
		S.pop();
	}
	return 0;
}