zoukankan      html  css  js  c++  java
  • C语言:链表

    #include<stdio.h>
    #include<stdlib.h>
    typedef int ElemType;
    typedef struct Lnode
    {
    ElemType data;
    struct Lnode *next;
    }Lnode,*LinkList;

    void CreateList(LinkList &l);//创建
    void ShowList(LinkList &l);//输出链表
    int CountList(LinkList &l);//计算结点数
    int CountNodeAdd(LinkList &l);//计算元素和
    int CountNodeMax(LinkList &l);//求最大元素
    void ReverseList(LinkList &l);//链表逆置

    void main()
    {
    LinkList L;
    CreateList(L);
    printf("元 素 为:");
    ShowList(L);
    printf("结点数为:%d\n",CountList(L));
    printf("结点和为:%d\n",CountNodeAdd(L));
    printf("最大元素为:%d\n",CountNodeMax(L));
    ReverseList(L);
    printf("逆置后为:");
    ShowList(L);
    }

    void CreateList(LinkList &l)//创建链表
    {
    LinkList p,q;
    q=l=(LinkList)malloc(sizeof(Lnode));
    q->next=NULL;
    puts("输入元素以'0'结束");
    while(1)
    {
    p=(LinkList)malloc(sizeof(Lnode));
    scanf("%d",&p->data);
    if(p->data==0)
    break;
    p->next=q->next;
    q->next=p;
    q=p;
    }
    }
    void ShowList(LinkList &l)//输出链表
    {
    LinkList p;
    p=l;
    while(p->next!=NULL)
    {
    p=p->next;
    printf("%d ",p->data);
    }
    puts("");
    }
    int CountList(LinkList &l)//求结点数
    {
    LinkList p;
    int sum=0;
    p=l;
    while(p!=NULL)
    {
    p=p->next;
    sum++;
    }
    return sum;
    }
    int CountNodeAdd(LinkList &l)//求元素和
    {
    LinkList p;
    int sum=0;
    p=l;
    while(p->next!=NULL)
    {
    p=p->next;
    sum+=p->data;
    }
    return sum;
    }
    int CountNodeMax(LinkList &l)//求最大元素
    {
    LinkList p;
    int max=0;
    p=l;
    while(p->next!=NULL)
    {
    p=p->next;
    if(p->data>max)
    max=p->data;
    }
    return max;
    }
    void ReverseList(LinkList &l)//链表逆置
    {
    LinkList p,q,s;
    s=p=q=l;
    q=q->next;
    p->next=NULL;
    while(q!=NULL)
    {
    s=q->next;
    q->next=p->next;
    p->next=q;
    q=s;
    }
    }
  • 相关阅读:
    归并之将两个有序数组合并(已測试)
    Embedded Android 协同翻译
    IOS中公布应用程序,进度条一直不走怎么处理
    《textanalytics》课程简单总结(2):topic mining
    编程小错误备忘录
    观察者模式
    scrapy递归抓取网页数据
    leetCode 95.Unique Binary Search Trees II (唯一二叉搜索树) 解题思路和方法
    spring4.0.0的配置和使用
    ios面试基础
  • 原文地址:https://www.cnblogs.com/gaorui/p/2289163.html
Copyright © 2011-2022 走看看