zoukankan      html  css  js  c++  java
  • 线性表操作练习

    /*
    1、线性表练习
    (1)从给定顺序表A中删除元素值在x到y(x<=y)之间的所有元素,效率要求较高。
    */

    int def(vector A,int n,ElemType x,ElemType y)
    {
        int i=0,k=0;
        while(i<0)
        {
            if(A[i]>=x&&A[i]<=y)
                k++;
            else
                A[i-k]=A[i];
                i++;
        }
        return n-k;
    }

    /*
    (2)用不多于3n/2的平均比较次数,在一个顺序表A中找出最大的和最小的值。
    */

    void maxmin(vector A,int i)
    {
        int max,min, i;
        max=A[0];min=A[0];
        if(A[i]>max)
            max=A[i];
        else if(A[i]<min)
            min=A[i];
        printf("max=%d,min=%d
    ",max,min);
    }

    /*
    (3)在无头结点的动态单链表上实现线性表插入操作INSERT(L,i,b),并且和带头节点的动态单链表上实现的相同操作进行比较。
    */

    void Insert(LinkList &L,int i,ElemType e)
    {
        if(!L)
        {
            L=(LinkList)malloc(sizeof(Lnode));
            L->data=e;
            L->next=NULL;
        }
        else
        {    
            if(i==1)
            {
                s=(LinkList)malloc(sizeof(Lnode));
                s->data=e;
                s->next=L;
                L=s;
            }
            else
            {
                p=L;j=1;
                while(p&&j<i-1)
                {
                    j++;p=p->next;
                }
                if(p||j>i-1)
                    return ERROR;
                s=(LinkList)malloc(sizeof(Lnode));
                s->data=e;
                s->next=p->next;
                p->next=s;
            }
        }
    }
  • 相关阅读:
    构建CMDB的一些启发
    一个NB的安全认证机制
    SQLAlchemy
    Tornado基本使用
    Tornado源码探寻(请求到来)
    Tornado源码探寻(准备阶段)
    Tornado源码探寻(开篇)
    我的个人博客网站
    IDEA/AS快捷键收集&习惯
    ubuntu命令收集
  • 原文地址:https://www.cnblogs.com/pengjunwei/p/3721687.html
Copyright © 2011-2022 走看看