C++实现双链表
来源:互联网 发布:js 给div赋值 编辑:程序博客网 时间:2024/05/16 05:18
#include <iostream>using namespace std ;#define NR(x) (sizeof(x)/sizeof(x[0]))class node{ public : int number ; node *next ; node *prev ; void Init_header(node **header); void traver_links(node *header); void top_append_links(node **header , int value); void tail_append_links(node **header , int value); int delete_links(node **header , int value);};int main(void){int array[] = {1,2,3,4,5,6,7,8,9};node *header = NULL ; node list ;list.Init_header(&header);int i ; for(i = 0 ; i < NR(array) ; i++){ // list.top_append_links(&header ,array[i]) ;list.tail_append_links(&header , array[i]);}list.traver_links(header);int num ; cout << "Pls input a number to delete:" << endl ;cin >> num ;list.delete_links(&header , num);list.traver_links(header);system("pause");return 0 ; }void node::Init_header(node **header){*header = new node[10] ;if(NULL == header) return ;(*header)->next = *header ; (*header)->prev = *header ; }void node::top_append_links(node **header , int value){node *New = NULL ; New = new node[10] ;if(NULL == New) return ;New->number = value ; New->next = (*header)->next ; (*header)->next = New ; New->prev = *header ; New->next->prev = New ; }void node::traver_links(node *header){node *tmp; for(tmp = header->next ; tmp != header ; tmp = tmp->next ) {cout<<' '<< tmp->number ;}cout << endl ;}void node::tail_append_links(node **header , int value){node *New = NULL ; New = new node[10] ;if(NULL == New) return ;New->number = value ; New->prev =(*header)->prev ; (*header)->prev = New ; New->next = *header ;New->prev->next = New ; }int node::delete_links(node **header , int value){ node *tmp; node *fr ; for(tmp = (*header)->next ; tmp != *header ; ) {if(tmp->number == value){fr = tmp->next;tmp->prev->next = tmp->next ; tmp->next->prev = tmp->prev ; delete tmp ;tmp = fr ; continue ; }tmp = tmp->next ;}}
0 0
- C语言实现双链表
- C实现双链表
- C实现循环双链表
- c语言实现双链表
- c语言实现双链表
- c 双链表的实现
- C语言实现双链表
- 双链表 C语言实现
- C语言实现双链表
- 双链表(C实现)
- C语言实现双链表
- c语言实现双链表
- c语言实现双链表
- 一个双链表的C实现
- 一个双链表的C实现
- C语言实现一个双链表
- 双链表的C语言实现
- C语言 实现一个双链表
- tomcat7的安装和配置
- 【HUSTOJ】1107: 孪生素数
- PNG,JPG图片的辨别
- 这些操作让网站更加安全
- 堆排序算法设计与分析
- C++实现双链表
- hdu1847——Good Luck in CET-4 Everybody!(巴什博奕)
- Redis之订阅发布简单实例
- 抓包工具Charles简单使用介绍(可抓取Android中app的请求)
- 通讯录-第一版番外篇
- c++第五次上机实验——教师干部类
- TableView分割线顶端对齐
- CentOS 6.5 NFS的安装配置、启动及mount挂载方法
- Java ArrayList toArray() 方法的正确使用