zoukankan      html  css  js  c++  java
  • 设单链表的数据为互不相等的整数,建立一个单链表,并设计一个算法,找出单链表中元素值最大 的结点。

    设单链表的数据为互不相等的整数,建立一个单链表,并设计一个算法,找出单链表中元素值最大的结点。

      要求:

    1)单链表的数据从键盘输入;

    2)输出单链表所有结点的数据和最大值结点序号

    #include "iostream"
    using namespace std;
    #include "malloc.h"
    #include "stdio.h"
    #define N 10
    typedef int ElemType;
    typedef struct LNode
    {
        ElemType  data;
        struct LNode  *next;
    }LNode, *LinkList;
    
    int MaxNode(LinkList h)
    {
        int j, k;
        LNode *p, *q;
        if (h->next == NULL) return 0;
        q = h->next;   p = q->next;
        k = 1; j = 2;
        while (p != NULL)
        {
            if (p->data>q->data) { q = p; k = j; }
            p = p->next; j++;
        }
        return k;
    }//MaxNode
    int output(LinkList h)
    {
        LNode *q;
        if (h->next == NULL) return 0;
        q = h->next;
        while (q != NULL)
        {
            cout << q->data << " ";
            q = q->next;
        }
    }
    void CreateLink(LinkList &h, ElemType a[], int n)
    {
        LNode *s, *r; int i;
        h = (LNode *)malloc(sizeof(LNode));
        r = h;
        for (i = 0; i < n; i++)
        {
            s = (LNode *)malloc(sizeof(LNode));
            s->data = a[i];
            r->next = s; r = s;
        }
        r->next = NULL;
    }
    
    
    void main()
    {
        LinkList head;
        ElemType a[N];
        int i, k;
        cout << "请输入一组数:" << endl;
        for (i = 0; i<N; i++) scanf_s("%d", &a[i]);
        CreateLink(head, a, N);
        cout << "所有数据:" << endl;
        output(head);
        cout <<endl << "最大值节点序号:" << endl;
        k = MaxNode(head);
        cout << k << "  "; cout << endl;
    }

     

    欢迎访问我的博客https://www.ndmiao.cn/

  • 相关阅读:
    软件体系结构课后作业03
    Struts2初步认识
    springboot1
    pytorch安装
    classifier of chains
    python错误集锦
    svm-惩罚因子
    毕设笔记1----div样式
    SQLite
    MVC实例应用模式
  • 原文地址:https://www.cnblogs.com/ndmiao/p/10632215.html
Copyright © 2011-2022 走看看