init: init nachos hw01

This commit is contained in:
AFS_TA
2026-03-27 10:12:37 +08:00
commit 1e698d2426
240 changed files with 76969 additions and 0 deletions

38
c++example/stack.h Executable file
View File

@@ -0,0 +1,38 @@
// stack.h
// Data structures for a "stack" -- a Last-In-First-Out list of integers.
//
// Copyright (c) 1992,1993,1995 The Regents of the University of California.
// All rights reserved. See copyright.h for copyright notice and limitation
// of liability and disclaimer of warranty provisions.
#ifndef STACK_H // to prevent recursive includes
#define STACK_H
#include "copyright.h"
// The following defines the Stack class. The functions are
// implemented in the file stack.cc.
//
// The constructor (initializer) for the Stack is passed the number
// of elements (integers) in the stack.
class Stack {
public:
Stack(int sz); // Constructor: initialize variables, allocate space.
~Stack(); // Destructor: deallocate space allocated above.
void Push(int value); // Push an integer on the stack, checking for overflow
int Pop(); // Pop an integer off the stack, checking for underflow.
bool Full(); // Returns TRUE if the stack is full, FALSE otherwise.
bool Empty(); // Returns TRUE if the stack is empty, FALSE otherwise.
void SelfTest(); // Test whether the implementation works.
private:
int size; // The maximum capacity of the stack.
int top; // Index of the next position to be used.
int *stack; // A pointer to an array that holds the contents.
};
#endif // STACK_H