#include <IOSTREAM.H>
class Node
{
public:
Node(int val, Node* next):val(val),next(next){}
//~Node(){cout<<"del "<<val<<endl;}
static void showAll();//打印全部节点的值
static void insertHead(int);//头插
static void insertTail(int);//尾插
static void delHead();//删头
static void delTail();//删尾
static void clear();//清空
protected:
int val;
Node *next;
static Node *head;
private:
};
Node* Node::head = 0;
void Node::showAll(){//打印全部节点的值
Node *p = head;
while (p)
{
cout<<p->val<<" ";
p = p->next;
}
cout<<endl;
}
void Node::insertHead(int val){//头插
Node *p = new Node(val, head);
head = p;
}
void Node::insertTail(int val){//尾插
Node *p = new Node(val, 0);
if (!head)
{
head = p;
return;
}
Node *q = head;
while (q->next)
{
q = q->next;
}
q->next = p;
}
void Node::delHead(){//删头
Node *p = head;
if (head)
{
head = head->next;
delete p;
}
}
void Node::delTail(){//删尾
if (!head)
{
return;
}
if (!(head->next))
{
delete(head);
head = NULL;
return;
}
Node *p = head;
while (p->next->next)
{
p = p->next;
}
delete(p->next);
p->next = NULL;
}
void Node::clear(){//清空
Node *p = head;
Node *q = 0;
head = 0;
while (p)
{
q = p;
p = p->next;
delete q;
}
}
void main(){
Node::delHead();
Node::delTail();
Node::insertTail(2);
Node::delTail();
for (int i = 0; i < 10; i++)
{
Node::insertTail(i + 1);
}
Node::delTail();
Node::showAll();
}
分享到:
相关推荐
利用静态成员构建链表 #include <IOSTREAM> class Node { public: Node(int val, Node* next):val(val),next(next){} //~Node(){cout<<"del "<<val<<endl;} static void showAll();//打印...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
本文实例为大家分享了C语言利用模板实现简单的栈类(数组和单链表),供大家参考,具体内容如下 主要的功能是实现一个后进先出的列表,有入栈、出栈、返回大小、判空等基本功能 #pragma once using namespace std;...
使用结构体存储节点,使用数组存储树的节点,使用静态二叉链表方式存储二叉树。 ```c++ struct HTNode{ int weight; int parent; int lchild; int rchild; }; typedef HTNode *HuffmanTree; ``` 3.Huffman...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
7.3.4 构建滤波器链表(Building Filer Graph) 252 7.3.5 滤波器链表中的数据流动Data Flow 257 7.3.6 DirectShow中的事件通知机制 261 7.3.7 常用DirectShow SDK接口 267 7.4 DirectShow SDK常用开发案例 267 ...
读者可以利用鼠标移动光标选择“演示算法”或“菜单命令”来控制课件的运行过程。 1. 课件的演示算法菜单为页式菜单。第一级菜单中的各项与上述“系统内容”中各大项相对应,读者运行“算法演示课件”后, 即进入...
构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle 10.session bean 和 entity bean的区别 11.ejb中的transaction机制 12.synchronized (生产者和消费) 13.String 和 ...