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

    顺序表(似数组)

    • 优:通过下标直接存储。

    • 缺:长度不可加;插入和删除操作时,移动大量元素。

    初始化

    List P;//定义一个表为P
    P = (List)malloc(sizeof(struct LNode));//分配线性表的空间
    L->length = 0;//设置空线性表的长度为0
    

    • 在元素增加的位置及以后的元素全向后移动一个
    int a[]={1,0,3,8,2,9};
    int n= len(a);
    for(int j=n;j>i;j--){//i为元素插入位置
        a[j]=a[j-1];//向后挪一位
        length++;//表长度加加
    }
    

    • 删除后,后面的元素向前移
    for(int j=i;j<=n;j++){//从删除位置到表尾
       a[j-1]=a[j];//向前挪一位(后一个代替前一个)
    length--;//表长度减减
    }
    

    • 按序号查值
    for(int i=0;i<=n;i++){//下标
     if(e = a[i]){cout<<a[i];}//如果找到与值e匹配的下标,输出值
    }
    
    • 按值找序号
    int i=0;
    while(i<n&&a[i]!=e)//查找元素
          i++;
    if(i>=n)//一直找到表尾
          return 0;
    else 
          return i+1;//返回序号,序号=下标+1
    

    链表(单)

    • 优:插入和删除操作时,不移动元素,只需改变指针指向。

    • 缺:查找较慢。

    初始化

    P = (LinkNode)malloc(sizeof(LinkNode));
    P->next = NULL;//创建头结点,其next域置为空
    

    (1)中间插入

    s->next = p->next;
    p->next = s;
    

    (2)头插法

    s->next = L->next;//将s结点插入首节点之前,头结点之后
    L->next = s;//头结点之后
    

    (3)尾插法

    r->next=s;//假设r始终指向尾结点,将s插入到结点r之后
    r=s;//让s成为尾结点
    

    q = p -> next;//q为待删结点,p为q的前结点
    p -> next = q -> next;//删除操作,把p的下一个结点直接改成q的下一个结点
    free(q);//释放删除掉的空间
    

    • 按序号查值
    int j = 0;
    LInkNode *p = L;//p指向头结点
    if(i<=0)retrun false;
    while(j<i&&p!=NULL)//遍历找第i个结点p
    {
          j++;
          p=p->next;
    }
    if(p==NULL)
          return false;//遍历完还没找到
    else
    {
          e= p->data;//找到
          return turn;
    }
    
    • 按值找序号
    int i = 1;//序号从1开始
    LInkNode *p = L->next;//创建头结点,指向首结点
    while(p!=NULL&&p->data!=e)//查找值为e的结点,其序号为i
    {
          p=p->next;
          i++;
    }
    if(p==NULL)//不存在时
          return(0);
    else//找到值为e的点,返回其序号
          return(i);
    
  • 相关阅读:
    SQL Server数据库一直显示“正在还原”的解决方法
    查看MSSQL 数据表信息使用情况
    sql server 查询缺失的索引
    windows server2012R2 上 .net core IIS 部署--应用程序池 自动停止
    MSSQL 数据库日志文件收缩
    SQL Server GUID转19位字符串
    SQL SERVER 之全文索引使用
    MSSQL 统计整个数据库所有表数据记录数
    freePCRF免费版体验
    Hortonwork Ambari配置Hive集成Hbase的java开发maven配置
  • 原文地址:https://www.cnblogs.com/lushuang55/p/13620027.html
Copyright © 2011-2022 走看看