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

    集合AUB=A

    // La表示A集合,Lb表示B集合。
    void unionL(List *La, list Lb)
    {
        int La_len, Lb_len, i;
    
        ElemType e;
        La_len = ListLength(*La);
        Lb_len = ListLength(Lb);
    
        for( i=1; i <= Lb_len; i++ )
        {
            GetElem(Lb, i, &e);
            if( !LocateElem(*La, e) )
            {
                ListInsert(La, ++La_len, e);
            }
        }
    }
    

     线性表的顺序存储结构

    结构体定义:
    #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; int length; }SqList;
    取数操作:
    
    ElemType GetElem(SqList L,int i,ElemType *e){
    	if(L.length==0||i<1||i<L.length){
    		return ERROR;
    	}
    	*e=L.data[i-1];
    	return OK;
    }
    int main(){
    	
    }
    

    ListInsert:

    /* 初始条件:顺序线性表L已存在,1<=i<=ListLength(L)。 */
    /* 操作结果:在L中第i个位置之前插入新的数据元素e,L长度+1。*/
    
    Status ListInsert(SqList *L, int i, ElemType e)
    {
        int k;
    
        if( L->length == MAXSIZE )  // 顺序线性表已经满了
        {
            return ERROR;
        }
        if( i<1 || i>L->length+1)   // 当i不在范围内时
        {
            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 OK;
    }
    

      

     

  • 相关阅读:
    (转) c++ 迭代器
    (转) 学习C++ -> 向量(vector)
    latex 模版
    javascript继承篇
    ES6的Map和Set的使用,以及weakMap的一点理解
    JavaScript中的eval函数
    Node.js中的进程与线程
    普通函数与箭头函数的区别是什么?
    git 远程拉去代码 输入用户名密码
    npm 设置镜像
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/11169329.html
Copyright © 2011-2022 走看看