C语言:将带头节点的单向链表结点域中的数据从小到大排序。-求出单向链表结点(不包括头节点)数据域中的最大值。-将M*N的二维数组中的数据,按行依次放入一维数组,...

//函数fun功能是将带头节点的单向链表结点域中的数据从小到大排序。

//相当于数组的冒泡排序。

 1 #include  <stdio.h>
 2 #include  <stdlib.h>
 3 #define    N    6
 4 typedef struct node {
 5   int  data;
 6   struct node  *next;
 7 } NODE;
 8 void fun(NODE  *h)
 9 { NODE  *p, *q;    int  t;
10 /**********found**********/
11 p = h->next;//头结点的指向赋值
12   while (p) {
13 /**********found**********/
14      q = p->next ;
15      while (q) {
16 /**********found**********/
17         if (p->data > q->data)
18         {  t = p->data;  p->data = q->data;  q->data = t;  }
19         q = q->next;//相当于数组第一个数与之后所有数进行一次比较。
20     }
21     p = p->next;
22   }
23 }
24 NODE *creatlist(int  a[])
25 {  NODE  *h,*p,*q;        int  i;
26   h = (NODE *)malloc(sizeof(NODE));
27   h->next = NULL;
28   for(i=0; i<N; i++)
29   {  q=(NODE *)malloc(sizeof(NODE));
30      q->data=a[i];
31      q->next = NULL;
32      if (h->next == NULL)  h->next = p = q;
33      else    {  p->next = q;  p = q;   }
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值