zoukankan      html  css  js  c++  java
  • 数据结构顺序表C

    //顺序表的定义
    #define MAXSIZE 100 //此处定义线性表可能打到的最大长度
    typedef struct
    {
        ElemType elem[MAXSIZE];//线性表占用的数组空间
        int last;//记录线性表中最后一个元素在elem[]中的位置
    }SeqList;
    //查找
    //1、按下标
    相当于L.elem[i-1]
    //2、按值查找
    int Locate(SqList L, ElemType e)
    {
      i = 0;//i为扫描的计数器,初值为0,即从第一个元素开始比较
      while(i<=L.last&&L.elem[i]!=e)
        i++;
      if(i<=L.last)
        return(i+1);
      else
        return(-1);//若没有找到,则返回空序号
    }
    #插入操作
    #define OK 1
    #define ERROR 0
    int InsList(SeqList L, int i,ElemType e)
    {
      if(i<1&&i>L.last+2)//i为插入位置序号1,2...n
        return ERROR;
      if(L->last>=MAXSIZE-1)
      {
        printf("表已满,无法插入
    ");
        return ERROR;   
      }
      for(k=L->last;k>=i-1;k--)
        L->elem[k+1]=L->elem[k];
      L->elem[i-1] = e;
      L->last++;
      return OK;     
    }
    #删除操作
    int DelList(SeqList L, int i, ElemType *e)
    {
      if(i<1&&i>L.last+1)
        return ERROR;
      *e=L->elem[i-1];
      for(int j=i;j<=L.last;j++)#注意
      {
         L.elem[i-1]=L.elem[i]
      }
      L.last--;
      return OK;
    }
    /*********************有序表合并***********************/
    /*有两个顺序表LA和LB,其元素均为递增有序排列,编写一个算法,将它们合并成一个递增有序表LC*/
    int merge(Sqlist LA, Sqlist LB, Sqlist *LC)
    {
      int i,j;
      i=0,j=0;
      while(i<=LA.last&&j<=LB.last)
      {
        if(LA.elem[i]<=LB.elem[j])
           LC.elem[++last]=LA.elem[i++];
        else
           LC.elem[++last]=LB.elem[j++]; 
      }
      while(i<=LA.last)
        LC.elem[++last]=LA.elem[i++];
      while(j<=LB.last)
        LC.elem[++last]=LB.elem[j++];
      return OK
    }
  • 相关阅读:
    [Erlang05]gen_server怎么去写eunit?
    [Erlang04]为什么有了rpc还有net_kernel:connect/1?
    [Erlang03]Erlang有哪些好用的静态分析工具?
    [SIP01]SIP Header Fields里面各字段用途
    [SIP00]SIP 概念总结
    [Erlang00]:gen_server:reply/2
    Makefile教程
    Linux 环境下开发 STM32
    Ubuntu 18.04 + ROS Melodic + TurtleBot3仿真
    Ubuntu系统鼠标不能点击
  • 原文地址:https://www.cnblogs.com/zangkuo/p/6073319.html
Copyright © 2011-2022 走看看