Chinaunix首页 | 论坛 | 博客
  • 博客访问: 492695
  • 博文数量: 63
  • 博客积分: 1187
  • 博客等级: 少尉
  • 技术积分: 706
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-05 16:53
个人简介

Must Be

文章分类

全部博文(63)

文章存档

2019年(1)

2017年(4)

2016年(6)

2015年(2)

2014年(1)

2013年(3)

2012年(10)

2011年(36)

我的朋友

分类: LINUX

2016-04-26 16:11:58


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. struct list_data
  4. {
  5.     int data;
  6.     struct list_data *next;
  7. };

  8. struct list_data *head;
  9. int first_flag = 0;

  10. void insert_data(int data)
  11. {
  12.     struct list_data* d_list;
  13.     struct list_data *p,*q;

  14.     if(first_flag == 0)
  15.     {
  16.         head->data = data;
  17.         first_flag = 1;
  18.         return;
  19.     }
  20.     
  21.     d_list = (struct list_data*)malloc(sizeof(struct list_data));
  22.     d_list->data = data;
  23.     
  24.     p = head;
  25.     q = head->next;
  26.     if(p->data >= data)
  27.     {
  28.         d_list->next = p;
  29.         head = d_list;
  30.         return;
  31.     }
  32.     if(q == NULL)
  33.     {
  34.         p->next = d_list;
  35.         return;
  36.     }
  37.     
  38.     while(q)
  39.     {
  40.         if(q->data >= data)
  41.         {
  42.             p->next = d_list;
  43.             d_list->next = q;
  44.             break;
  45.         }
  46.         else
  47.         {
  48.             p = p->next;
  49.             q = q->next;
  50.             if(q == NULL)
  51.             {
  52.                 p->next = d_list;
  53.                 break;
  54.             }
  55.         }
  56.         
  57.     }
  58.     
  59. }

  60. int main(int argc, char *argv[])
  61. {
  62.     struct list_data *p;
  63.     int i,a[256],num;
  64.     head = (struct list_data*)malloc(sizeof(struct list_data));
  65.     
  66.     insert_data(34);
  67.     insert_data(13);
  68.     insert_data(22);
  69.     insert_data(1);
  70.     insert_data(1);
  71.     insert_data(26);
  72.     insert_data(62);
  73.     insert_data(7);
  74.     insert_data(7);
  75.     
  76.     p = head;
  77.     i = 0;
  78.     while(p)
  79.     {
  80.         a[i++] = p->data;
  81.         p = p->next;
  82.     }
  83.     num = i;
  84.     for(i=0;i<num;i++)
  85.         printf("%d,",a[i]);
  86.     printf("\n");
  87.     
  88.     return 0;
  89. }

阅读(2061) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~