408数据结构数据类型(C++)

一、定义




1. 链表


  • 顺序表:
    int arr[110];
    int idx;
    


  • 单链表:
    struct Node {
    	int val;
    	Node *next;
    
    	Node() : next(NULL) {}
    	Node(int _val) : val(_val), next(NULL) {}
    };
    


  • 双链表:
    struct Node {
    	int val;
    	Node *prev, *next;
    
    	Node() : prev(NULL), next(NULL) {}
    	Node(int _val) : val(_val), prev(NULL), next(NULL) {}
    };
    



2. 栈


  • 单调栈:
    int stk[110];
    int top = 0;  // -1
    


  • 链栈:
    struct Node {  // 与链表的定义相同
    	int val;
    	Node *next;
    
    	Node() : next(NULL) {}
    	Node(int _val) : val(_val), next(NULL) {}
    };
    



3. 队列


  • 单调队列
    int q[110];
    int head = 0, rear = 0;
    


  • 链队
    struct Node {  // 与链表的定义相同
    	int val;
    	Node *next;
    
    	Node() : next(NULL) {}
    	Node(int _val) : val(_val), next(NULL) {}
    };
    



4. 树


struct TreeNode {
	int val;
	TreeNode *left, *right;

	TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};




二、使用




  • 创建节点:Node node_name = new Node(val);
  • 删除节点:delete(node_name); // 调用析构函数
posted @ 2023-06-30 15:53  TheoFan  阅读(57)  评论(0)    收藏  举报