○stack queue
■スタック
先入後出しのデータ構造
#include <stdio.h>
#include <stack>
struct cell{
char str[64];
};
int main(){
std::stack<cell> stack;
cell a;
strcpy(a.str,"a");stack.push(a);//値の追加
strcpy(a.str,"b");stack.push(a);
strcpy(a.str,"c");stack.push(a);
strcpy(a.str,"d");stack.push(a);
while(stack.empty()==false){//false : スタックに値がある
a=stack.top();//最後尾の値の取得
stack.pop();//最後尾の値の削除
printf("%s\n",a.str);
}
return 0;
}
処理結果
d
c
b
a
■キュー
先入先出しのデータ構造
#include <stdio.h>
#include <queue>
struct cell{
char str[64];
};
int main(){
std::queue<cell> queue;
cell a;
strcpy(a.str,"a");queue.push(a);//値の追加
strcpy(a.str,"b");queue.push(a);
strcpy(a.str,"c");queue.push(a);
strcpy(a.str,"d");queue.push(a);
while(queue.empty()==false){//false : キューに値がある
a=queue.front();//先頭の値の取得
queue.pop();//先頭の値の削除
printf("%s\n",a.str);
}
return 0;
}
処理結果
a
b
c
d
▲トップページ
>
Windows と C++