IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数据结构与算法(五)线性表的应用&案例分析&实现 -> 正文阅读

[数据结构与算法]数据结构与算法(五)线性表的应用&案例分析&实现

一、线性表合并 <删除重复元素>

? ? ? ? La=(7,5,3,11)? ?Lb=(2,6,3)? ?=>? ? La=(7,5,3,11,2,6)?

? ? ? ? 算法实现 ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? 依次从Lb中去除每个元素:1.在La中查找该元素? ? ? ? 2.如果找不到就将其插入La后面

void Union(List &La,List Lb){
    La_Len=ListLength(La);
    Lb_Len=ListLength(Lb);
    for(i=1;i<=Lb_Len;i++)
    {
        GetElem(Lb,e);
        if(!LocateElem(La,e))     ListInsert(&La,++La_Len,e);
    }
}

二、有序表合并 <按序列排序>

????????La=(1,7,8)? ?Lb=(2,4,6,8,10,11)? ?=>? ? La=(1,2,4,6,8,8,10,11)?

? ? ? ? 算法实现:1.建立空表Lc? ? ? ? 2.依次从La或Lb中摘出元素值较小的结点插入到Lc表的最后,直至其变为空表? ? ? ? 3.继续讲剩下的表的剩余结点插入Lc后面

? ? ? ? 顺序表实现

void MergeList_Sq(SqList LA,SqList LB,SqList &LC){
    pa=LA.elem;
    pb=LB.elem;
    LC.Length=LA.length+LB.Length;      //指定长度
    LC.elem=new ElemType[LC.length];    //分配空间
    pc=LC.elem;                        //指向第一个元素
    pa_last=LA.elem+LA.length-1;    //LA最后一个元素
    pb_last=LB.elem+LB.length-1;    //LB最后一个元素

    while(pa<=pa_Last && pb<=pb_last){//两个表都不为空
        if(*pa<=*pb)                //找出较小值
            *pc++=*pa++;
        else
            *pc++=*pb++;
    }
    while(pa<=pa_Last) *pc++=*pa++;    //继续添加非空表
    while(pb<=pb_Last) *pc++=*pb++;
}

?

? ? ? ? 链表实现

void MergeList_Sq(SqList LA,SqList LB,SqList &LC){
    pa=LA->next;    pb=LB->next;
    pc=LC=LA;    //用La的头结点作为LC的头结点
    while(pa && pb){
        if(pa->data<=pb->data)
        {
            pc->next=pa;
            pc=pa;
            pa=pa->next;
        }
        else
        {
            pc->next=pb;
            pc=pb;
            pa=pb->next;
        }
    }
    pc->next=pa?pa:pb;    //插入剩余表
    delete LB;//释放lb头结点
}

?三、案例分析

? ? ? ? 1.完成一元多项式的运算:实现多项式的加减乘除

? ? ? ? 实现思路:将多项式系数视为线性表

? ? ? ? ?2.稀疏多项式运算

? ? ? ? 使用链表实现(顺序表缺点:空间分配灵活度不高;运算空间复杂程度高)

??

?????????????????算法步骤↓

? ? ? ? ?3.图书馆管理系统(吐槽:这么大个系统您上个SQL能死啊)

? ? ? ? ? ? ? ? 略...

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:26:26  更:2021-09-26 10:28:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:37:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码