数组
//数组
//声明数组:type arrayName [ arraySize ];
int list1[5];
//为数组某个元素赋值
int list1[0]=4;
//花括号的方法声明数组并赋值,每个元素用逗号隔开
char list2[3]={'a','b','c'};
//for循环赋值
int list3[10];
for(int i=0;i<10;++i){
list3[i]=i;
}
双向链表
//Linked list 链表
//doubly linked list 双向链表的定义
//双向链表的储存结构
struct Lnode {
int mark; //结点的数据域
Lnode* next; //结点的指针域,next储存下一个结点的指针
Lnode* pre; //pre储存上一个结点的指针
Lnode() :mark(0), next(nullptr),pre(nullptr) {} //这两行是构造函数。这行是初始化的情况。
Lnode(int x) :mark(x), next(nullptr), pre(nullptr) {} //这行指如果有数据传进结点,就按x给结点赋值。
};
int main(){
//创建一个结点
Lnode* L=new Lnode(); //new Lnode():开辟一个结构体,调用构造函数。
//Lnode* L:定义一个指针。 L是指向new Lnode()的指针, L是指针,
//循环创建结点,构成一个双向链表
Lnode* head=new Lnode();
Lnode* cur=head;
for(int i=0;i<10;++i){
Lnode* node=new Lnode(i);
cur->next=node;
node->pre=cur;
cur=node;
}
}