c/c++双链表正排序

原创 2011年01月11日 13:23:00

#include<stdio.h> 
#include<stdlib.h> 
#include<malloc.h> 
struct list{ 
  int data; 
  struct list *next; 
  struct list *pre; 
  }; 
typedef struct list node; 
typedef node *link; 
link front=NULL,rear,ptr,head=NULL; 

link push(int item){ 
link newnode=malloc(sizeof(node)); 
 newnode->data=item; 
 if(head==NULL)
 {
 head=newnode; 
 head->next=NULL; 
 head->pre=NULL;
 rear=head;
 }
 else
 {
 rear->next=newnode;
 newnode->pre=rear;
 newnode->next=NULL;
 rear=newnode;
 }
 return head; 
 } 

void makenull(){           
 front=NULL; 
 rear=NULL; 
 } 

empty(){ 
  if(front==NULL) 
   return 1; 
  else 
   return 0; 
  } 

int tops(){ 
   if(empty()) 
    return NULL; 
   else 
    return rear->data; 
   } 

void pop(){ 
   if(empty()) 
    printf("stack is empty!/n"); 
   else 
    rear=rear->pre; 
   } 

void display(link l){ 
    link p; 
    p=l; 
    while(p!=NULL){ 
      printf("%d->",p->data); 
      p=p->next; 
    } 


void main(){ 
int n,i; 
printf("input your first data!/n"); 
scanf("%d",&n); 
front=push(n); 
   /*another data*/ 
for(i=0;i<3;i++) 

 printf("input:/n"); 
 scanf("%d",&n); 
 push(n); 

 ptr=front; 
 display(ptr); 
 printf("/n Please enter any key to pop"); 
getch();
 pop(); 
 ptr=front; 
 display(ptr); 
getch();

}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/normallife/archive/2008/12/01/3419197.aspx

相关文章推荐

双链表(double_linked_list):(增、删、改、查、逆置)的C++的例子,稍微改一下,就成C。

1 #include   2 #include   3 #include   4 using namespace std;   5   6 struct dl_node   7 {   8  ...
  • CIT_RWC
  • CIT_RWC
  • 2013年07月17日 22:31
  • 895

C++实现双链表的操作

  • 2011年01月24日 19:08
  • 13.22MB
  • 下载

数组、单链表和双链表介绍 以及 双向链表的C/C++/Java实现

概要 线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本章先介绍线性表的几个基本组成部分:数组、单向链表、双向链表;随后给出双向链表的C、C++和Java三种语言的...

chain_double.c双链表

  • 2015年10月03日 16:23
  • 4KB
  • 下载

数组、单链表和双链表介绍 和 双向链表的C/C++/Java实现

概要 线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本章先介绍线性表的几个基本组成部分:数组、单向链表、双向链表;随后给出双向链表的C、C++和Java三种语言的...

双链表的c++

  • 2015年07月21日 10:11
  • 3.69MB
  • 下载

C++ 数据结构 双链表

  • 2010年11月27日 10:24
  • 349KB
  • 下载

二分查找树转化为排序的循环双链表

一:题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 例如对于下面的二分查找树: small pointer 其实也就是指向左...
  • LaoJiu_
  • LaoJiu_
  • 2016年03月07日 16:16
  • 572

用C++完成的双链表源代码.zip

  • 2009年02月09日 19:24
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: c/c++双链表正排序
举报原因:
原因补充:

(最多只允许输入30个字)