zoukankan      html  css  js  c++  java
  • 线性表

    线性表定义:由零个或多个数据元素组成的有限序列。  是从1开始的

    // 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)

    // 这里的Stu实际上就是struct Student的别名。Stu==struct Student

    typedef struct Student{

        int a;

    }Stu;

     

    //    另外这里也可以不写Student(于是也不能struct Student stu1;了,必须是Stu stu1;)

    typedef struct{

        int a;

        

    }Stu;

    初始化的线性表结构Sqlist和一些宏参数:

    #define ERROR 0
    #define OK 1
    #define TRUE 1
    #define FALSE 0
    
    #define MAXSIZE 20
    typedef int ElemType;
    typedef struct {
        ElemType data[MAXSIZE];
        int length;
    }Sqlist;
    
    typedef int Status;

     

    //获取元素
    Status GetElem(Sqlist *L,int i,ElemType e){
        if (i<1 || L->length==0 || i>L->length) {
            return 0;
        }
        e = L->data[i-1];
        return 0;
    }
    //插入元素
    Status ListInsert(Sqlist *L,int i,ElemType e){
        int k;
        if (L->length == MAXSIZE) {
            return ERROR;
        }
        if (i<1 || i> L->length+1) {
            return ERROR;
        }
        if (i<=L->length) {//都需要遍历
            for (k = L-> length-1; k>=i-1; k--) {
                L->data[k+1] =L->data[k];
            }
        }
        L->data[i-1] = e;
        L->length++;
        return FALSE;
        
    }
    //删除元素
    Status ListDelete(Sqlist*L,int i,ElemType *e){
        int k;
        if (L->length == 0) {
            return ERROR;
        }
        if (i<1 || i>L->length) {
            return ERROR;
        }
        *e = L->data[i-1];
        if (i<L->length) { //都需要遍历
            for (k = i; k<L->length; k++) {
                L->data[k-1] = L->data[k];
            }
        }
        
        L->length--;
        
        return OK;
    }

    线性表的插入和删除都需要遍历一次,从而时间复杂度是O(n),效率也是比较差的。 

    但行好事,莫问前程。
  • 相关阅读:
    java 单例设计模式
    JAVAWEB监听器(二)
    pxe无人值守安装linux机器笔记----摘抄
    Ganglia3.1.7安装与配置(收录)
    Hadoop Sentry 学习
    安装和配置Sentry(收录)
    sqoop 的使用 -20160410
    深度分析如何在Hadoop中控制Map的数量(摘抄)
    CDH,CM下载
    大数据培训班 cloudera公司讲师面对面授课 CCDH CCAH CCP
  • 原文地址:https://www.cnblogs.com/yuhui-snail/p/9669644.html
Copyright © 2011-2022 走看看