Em đang nghiên cứu về các ứng dụng của Stack và thấy có ứng dụng kiểu undo.
Câu hỏi đặt ra là em có 1 file input có nội dung:
nguyen
tuan
undo
nam
undo
undo
nam
anh
==> xuất ra file output là:
nguyen
nam
anh
Ai có thể giúp em phần xử lý ạ
Em cảm ơn rất nhiều!
em đã cài đặt stack bằng mảng:
void KhoiTao(Stack *stack)
{
stack->top = 0;
}
int KTRong(Stack stack)
{
return (stack.top == 0);
}
int KTFull(Stack stack)
{
return (stack.top == 100);
}
void Push(Stack *stack, string s)
{
if(!KTFull(*stack))
{
strcpy(stack->data[stack->top], s);
stack->top++;
}
}
void Pop(Stack *stack)
{
if(!KTRong(*stack))
{
stack->top--;
}
}
void XuLy(Stack *stack)
{
char s[256]; int i = 0;
FILE *fin = fopen("file\\input.txt", "rt");
FILE *fout = fopen("file\\output.txt", "wt");
???????
}