麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

C數(shù)據(jù)結(jié)構(gòu)之雙鏈表詳細(xì)示例分析

2020-01-26 15:56:58
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

 typedef struct node
{
      struct node *prior;
      struct node *next;
       int num;
}NODE;
/*******雙向鏈表的初始化********/
NODE *Init_link(void)
{
     int i;
     NODE *phead,*pb,*pi;
     phead = (NODE *)malloc(sizeof(NODE));
     printf("please input num:/n");
     scanf("%d",&(phead->num));
     phead->prior = NULL;
     phead->next = NULL;
     pb = phead;
     for(i=0; i<3; i++)
     {
          pi = (NODE *)malloc(sizeof(NODE));
          printf("please input num:/n");
              scanf("%d",&(pi->num));
          pi->next = NULL;
          pb->next = pi;
          pi->prior = pb;
          pb = pi;
     }
     return phead;
}
/******鏈表的輸出******/
void print_link(NODE *phead)
{
 while(phead != NULL)
 {
  printf(" %d,",phead->num);
  phead = phead->next;
 }
 printf("/n");
}
/******鏈表的逆序******/
NODE *reverse_link(NODE *phead)
{
 NODE *pb,*pf,*temp;
 pb = phead;
 pf = pb->next;
 while(pf != NULL)
 {
  temp = pf->next;
  pf->next = pb;
  pb->prior = pf;
  pb = pf;
  pf = temp;
 }
// phead->prior = pf->prior;
 phead->next = NULL;
 phead = pb;
 return phead;
}
/*****鏈表的排序*****/
NODE *Order_link(NODE *phead)
{
     NODE *pb,*pf,*ptr,temp;
     pb = phead;
     while(pb->next != NULL)
     {
          pf = pb->next;
          while(pf != NULL)
          {
               if(pb->num > pf->num)
               {
                     temp = *pb;
                    *pb = *pf;
                    *pf = temp;
                     ptr = pb->next;
                     pb->next = pf->next;
                     pf->next = ptr;
                     ptr = pb->prior;
                     pb->prior = pf->prior;
                     pf->prior = ptr;
              }
             pf = pf->next;
        }
        pb = pb->next;
    }
    return phead;
}
/******鏈表的有序插入*****/
NODE *insert_link(NODE *phead,NODE *pi)
{
 NODE *pb,*pf;
 pb = phead;
 if(pi == NULL)
  return phead;
 if(phead == NULL)
 {
  phead = pi;
  pi->prior = NULL;
  pi->next =NULL;
 }
 else
 {
  while( (pi->num > pb->num)&&(pb->next!=NULL))
  {
   pf = pb;
   pb = pb->next;
  }
  if(pi->num <= pb->num)
  {
   if(pb == phead)
   {
    pi->next = phead;
    pi->prior = NULL;
    phead->prior = pi;
    phead = pi;
   }
   else
   {
    pi->next = pb;
    pb->prior = pi;
    pi->prior = pf;
    pf->next = pi;
   }
  }
  else
  {
   pi->next = NULL;
   pi->prior = pb;
   pb->next = pi;
  }
 }
 return phead;
}
/******鏈表的刪除*****/
NODE *delete_link(NODE *phead, NODE *pi)
{
 NODE *pb,*pf;
 pb = phead;
 while(pb != NULL)
 {
  if(pb == pi)
  {
   if(pb == phead)
    phead = phead->next;
   else if(pb->next == NULL)
    pf->next = NULL;
   else
   {
    pf->next = pb->next;
    //pb->next->prior = pf;
   }
  }
  pf = pb;
  pb = pb->next;
 }
 return phead;
}
/*******鏈表的釋放******/
void free_link(NODE *phead)
{
 NODE *pb;
 while(phead != NULL)
 {
  pb = phead->next;
  free(phead);
  phead = pb;
 }
 printf("released link success!/n");
}
/*******測試程序******/
int main(void)
{
 NODE *phead,*pi;
 phead = Init_link();
 printf("init link:/n");
 print_link(phead);

 pi = (NODE *)malloc(sizeof(NODE));
 printf("plaese input insert num:");
 scanf("%d",&(pi->num));
 phead = insert_link(phead,pi);
 printf("after insert link:/n");
 print_link(phead);
 phead = Order_link(phead);
 printf("after sort link:/n");
 print_link(phead);

 printf("after reverse link:/n");
 phead = reverse_link(phead);
 print_link(phead);
 phead = delete_link(phead, pi);
 printf("after delete link:/n");
 print_link(phead);
 free_link(phead);
 return 0;
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 特级西西444www大精品视频免费看 | 羞羞答答影院 | 精品国产一区二区三区在线观看 | 神秘电影91 | 久久综合一区 | 欧美a视频 | 国产一区视频观看 | 在线成人免费观看视频 | 特黄一区二区三区 | 免费看黄色三级毛片 | 黄色网址入口 | 亚洲乱搞| 欧美成年人视频在线观看 | 九九黄色影院 | 日韩精品一区二 | 99国产精品欲a| 美国一级黄色毛片 | 一级@片| 欧美一a一片一级一片 | 毛片视频网站 | 狠狠婷婷综合久久久久久妖精 | 大学生一级毛片 | 成人性爱视频在线观看 | 污污黄| 久久精精品 | 色综合欧美 | 久久久久久久久久久影视 | 成人在线激情视频 | 爱操影院| 久久亚洲春色中文字幕久久 | www.成人免费视频 | 欧美综合在线观看视频 | 欧美 日韩 三区 | 成人视屏在线 | 女人一级一级毛片 | 美女黄网站免费观看 | qyl在线视频精品免费观看 | 欧美1区2区| 久久久久亚洲a | 免费看黄色三级毛片 | 中文字幕激情 |