计算链表相邻结点和的最小值

冷不防 2022-11-30 05:40 200阅读 0赞

计算链表相邻结点和的最小值

【问题描述】
以下程序的功能是创建有ct个结点的链表,ct的值从键盘输入,每个结点中包含一个整数信息(同样从键盘输入)。计算该链表中每两个相邻结点的整数和,求其中的最小值对应的结点序号(链表建成后结点序号从1到ct编号)。

【样例输入】(输入8个数,依次从尾插入链表)
8
3 4 1 2 6 7 9 10
【样例输出】(求出哪两个结点的和最小,此例为结点3和结点4的和最小)
3 4

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct node
  4. {
  5. int n;
  6. struct node *next;
  7. };
  8. int main( )
  9. {
  10. struct node *head=NULL, *tail=NULL, *p;
  11. int i, min, s=0, index=1, ct;
  12. scanf ( "%d", &ct ); /*从键盘输入ct的值,设ct大于1*/
  13. for ( i=0; i<ct; i++ )
  14. {
  15. p =(struct node *)malloc(sizeof(struct node));/*申请新结点空间*/
  16. scanf( "%d", &p->n );
  17. p->next=NULL;
  18. if ( head==NULL ) head = p;
  19. else tail->next=p;
  20. tail = p;
  21. }
  22. min = head->n + head->next->n;
  23. i = 1;
  24. for ( p=head->next; p!=NULL && p->next!=NULL; p=p->next )
  25. {
  26. s = p->n + p->next->n;
  27. i++;
  28. if(s<min)
  29. {
  30. min=s;
  31. index=i;
  32. }
  33. }
  34. printf( "%d %d", index, index+1 );
  35. }

发表评论

表情:
评论列表 (有 0 条评论,200人围观)

还没有评论,来说两句吧...

相关阅读

    相关 计算相邻

    计算链表相邻结点和的最小值 【问题描述】 以下程序的功能是创建有ct个结点的链表,ct的值从键盘输入,每个结点中包含一个整数信息(同样从键盘输入)。计算该链表中每两个

    相关 师--插入

    think: 1链表的结点的头部插入+链表的结点的中间插入+链表的结点的尾部插入 [sdut题目链接][sdut] 师–链表的结点插入 Time Limit: 10