zoukankan      html  css  js  c++  java
  • 严版数据结构题集2.13 & 2.14

    1、试写一算法在带头结点的单链表结构上实现线性表操作Locate(L,x)

    2、试写一算法在带头结点的单链表结构上实现线性表操作Length(L)

    #include<stdio.h>
    #include<stdlib.h>
    #define ERROR 0
    #define OK 1
    #define OVERFLOW -1
    #define TRUE 1
    typedef int Status;
    
    struct LNode
    {
         int data;
         LNode *next;
    };
    typedef LNode *LinkList;
    
    void InitList(LinkList &L)
    {
         L=(LinkList)malloc(sizeof(LNode));
         if(!L)
           exit(OVERFLOW);
         L->next=NULL;
    }
    
    int ListLength(LinkList L)
    {
         int i=0;
         LinkList p=L->next;
         while(p)
         {
              i++;
              p=p->next;
            }
            return i;
    }
    
    int LocateElem(LinkList L,int e)
    {
         int i=0;
         LinkList p=L->next;
         while(p)
         {
              i++;
              if(p->data==e)
                return i;
              p=p->next;
            }
            return 0;
    }
    
    void CreateList(LinkList &L,int n)
    {
         int i;
         LinkList p,q;
         L=(LinkList)malloc(sizeof(LNode));
         L->next=NULL;
         q=L;
         printf("Please input %d numbers:\n",n);
         for(i=1; i<=n; i++)
         {
              p=(LinkList)malloc(sizeof(LNode));
              scanf("%d",&p->data);
              q->next=p;
              q=q->next;
            }
            p->next=NULL;
    }
    
    void judge(LinkList L,int x)
    {
         int flag;
         flag=LocateElem(L,x);
         if(flag)
           printf("elem %d is in the %d place of L",x,flag);
         else
           printf("elem %d is not in L",x);
    }
    
    void PrintList(LinkList L)
    {
         LinkList p;
         p=L->next;
         while(p)
         {
              printf("%d ",p->data);
              p=p->next;
            }
            printf("\n");
        
    }
    
    int main()
    {
         LinkList L;
         int len,x;
         CreateList(L,8);
         printf("LinkList L:");
         PrintList(L);
         len=ListLength(L);
         printf("The LinkList L'length is:%d\n",len);
         printf("input number x:");
         scanf("%d",&x);
         judge(L,x);
         return 0;
        
    }

  • 相关阅读:
    二叉树的构造与遍历
    最长公共子序列
    Python爬虫与数据图表的实现
    降维实例之主成分分析
    数据集之转换器以及估计器
    机器学习算法分类以及开发流程
    数据的降维之特征选择及主成分分析
    特征工程之归一化及标准化
    文本tfidf
    文本特征抽取
  • 原文地址:https://www.cnblogs.com/cpoint/p/3367339.html
Copyright © 2011-2022 走看看