C++线性表
凌空的桨
https://github.com/marsmarcin/
展开
-
顺序表示的线性表——顺序表1——合并线性表(不去掉重复元素)
线性表是由n个类型相同的数据元素组成的有限序列,记为(a1, a2, a3, ... ,ai-1, ai, ai+1, ... , an)。线性表的数据元素存在着序偶关系,即元素之间具有一定的次序。在线性表中,数据元素ai-1位于ai的前面,ai又在ai+1的前面,我们把ai-1称为ai的直接前驱元素。ai称为ai-1的直接后继元素,ai+1称为ai的直接后继元素。逻辑结构如图所示:线...原创 2018-07-24 17:21:10 · 609 阅读 · 0 评论 -
顺序表示的线性表——顺序表2——合并两个线性表(去掉重复元素)
合并两个线性表中的元素,相同的元素只保留一个SeqList.h#pragma once#define ListSize 200#include <iostream>using namespace std;typedef int DataType;typedef struct{ DataType list[ListSize]; int length;}SeqL...原创 2018-07-26 15:41:21 · 5421 阅读 · 0 评论 -
顺序表示的线性表——顺序表3——线性表差集
利用线性表的基本运算,实现如果在线性表A中出现的元素,在线性表B中也出现,则将A中该元素删除。,也就是求两个线性表的差集。SeqList.h#pragma once#define ListSize 200#include <iostream>using namespace std;typedef int DataType;typedef struct{ Data...原创 2018-07-26 15:47:04 · 898 阅读 · 0 评论 -
顺序表示的线性表——顺序表4——分拆顺序表
分拆顺序表:左边的元素小于等于0,右边的元素大于0.算法思想:设置两个指示器,i,j分别扫描顺序表中的元素,i和j分别从顺序表的左端和右端开始扫描。如果i遇到小于等于0的元素则略过不处理,继续向前扫描;如果遇到大于0的元素,则暂停扫描。如果j遇到大于0的元素,则略过不处理,继续向前扫描;如果遇到小于0的元素,则暂停扫描。如果i和j都停下来,则交换i和j指向的元素。重复执行到i≥j为止。...原创 2018-07-26 15:56:05 · 949 阅读 · 0 评论 -
顺序表示的线性表——顺序表5——计算任意长度的两个整数之和
试设计一种表示任意长度的整数的数据结构,计算任意给定的两个整数之和的算法。SeqList.h#pragma once#define ListSize 200#include <iostream>using namespace std;typedef int DataType;typedef struct{ DataType list[ListSize]; in...原创 2018-07-26 16:03:04 · 356 阅读 · 0 评论 -
链式表示的线性表之一——单链表3——合并后排序
合并两个单链表,已知两个单链表A和B,其中的元素为非递减排列,编写算法将单链表A和B合并得到一个递减有序的单链表C(值相同只保留一个),并要求利用原链表的结点空间。例如A={12,16,21,33,35,87,102},B={3,5,21,23,35,99,123},合并为C={123,102,99,87,35,33,23,21,16,12,5,3}LinkList.h#pragma o...原创 2018-11-17 15:49:40 · 334 阅读 · 0 评论