双向循环链表创建

#include<iostream>
#include<malloc.h>
#include<cstdio>
using namespace std;
struct List{
	int data;
	List* next;
	List* prior;
}*list,*end;
int len = 0;
void List_made(){
	int t;
	list = new List;
	list->next = NULL;
	list->prior = NULL;
	List *p;
	List *head = new List;
	head = list;
	scanf("%d" , &list->data);
	while(scanf("%d" , &t) && t != 0){
		if(len == 0){
			p = new List;
			p->data = t;
			p->prior = list;
			list->next= p;
			p->next= list;
			list->prior = p;
			head = p;
		}
		else{
			p = new List;
			p->data = t;
			p->prior = head;
			p->next= list;
			head->next= p;
			head = p;
		}len++;
	
	}


}
void read_list(){
	List *p = new List;
	p = list;
	int time = 0;
	while(time < 10){
		printf("%d\n" , p->data);
		p = p->prior;//p = p->next 同理 
		time++;
	}
}
int main()
{
	List_made();
	read_list();
}

猜你喜欢

转载自blog.csdn.net/peachhhh/article/details/108076480