#include #define MAXSIZE 10typedef struct { int r[MAXSIZE + 1];//用于存储排序的数组,r[0]用作哨兵或临时变量 int length; //用于记录顺序表的长度}SqlList;void swap(S...
分类:
编程语言 时间:
2015-03-27 23:37:43
阅读次数:
241
通过定义一个C++类封装单链表这种数据结构,
封装的方法有:
1.通过输入创建单链表;
2.获取单链表的数据元素个数;
3.打印输出单链表中各个元素;
4.搜索某个元素在单链表中的位置;
5.在某个位置之后插入一个结点;
6.在某个位置删除一个节点;
7.单链表逆置;
8.单链表是否存在回环的判定;
9.单链表的升序排序;
10.两个单链表的升序合并;
11.两个单链表的降...
分类:
编程语言 时间:
2015-03-27 22:16:02
阅读次数:
212
建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,…,an),则逆置后的数据元素序列为(an,an-1,an-2,…,a1,a0)。(数据类型为字符型)
Description
第一行为顺序表的长度n;
第二行为顺序表中的数据元素;
Input
输出为逆置后的顺序表
Output
1...
分类:
其他好文 时间:
2015-03-22 09:18:25
阅读次数:
234
顺序表,其实很多地方同数组很有相似,可以说数组也是一种顺序表。对顺序表的基本操作有,初始化,插入元素,删除元素,访问表,元素定位,制空表,删除顺序表。发一段功能集成代码。-------------------------------- end ---------------------------....
分类:
其他好文 时间:
2015-03-17 19:46:26
阅读次数:
135
1.直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。 1 //-----------------对顺序表L作直接插入排序算法-------------------- 2 vo...
分类:
编程语言 时间:
2015-03-17 17:30:55
阅读次数:
155
线性表的特点是除第一个元素和最后一个数据元素外,每个数据元素只有一个前驱元素和一个后继元素。线性表的是一种最简单的线性结构,线性表的操作特点是可以在任意位置插入和删除一个数据元素。线性表可以使用顺序结构和链式结构存储。用顺序存储结构实现的线性表称为顺序表,用链式结构实现的线性表称为链式表,链式表有单...
分类:
其他好文 时间:
2015-03-16 23:05:41
阅读次数:
241
问题如题目,首先分析,链表的反转的空间复杂度如果为常数级,那么不可能完成从堆中申请数据来完成链表的反转工作,所以问题就转化为了如何将原链表修改/拆解为逆置的链表:函数形式假定如下 voidInverse(List*&head)//////修改原链表为逆置第一种办法最简单,就是在创建一个局部变量 Li...
分类:
其他好文 时间:
2015-03-16 23:00:40
阅读次数:
191
http://acm.timus.ru/problem.aspx?space=1&num=1040题目要求在一个联通无向图中找出一种方法给边标号使得任意一个有多条边的点,边的号码的最大公约数都为1想象在dfs树上,以1为根进入,将第一条边标为序号1,则节点1满足条件剩下的边遵照dfs顺序表明,那么非...
分类:
其他好文 时间:
2015-03-15 07:01:29
阅读次数:
177
//顺序查找
//主要是为了说明引入"哨兵"的作用
typedef struct { //查找表的数据结构
ElemType *elem; //元素存储空间基址,建表时按实际长度分配,0号单元留空
int TableLen; //表的长度
}SSTable;
int Search_Seq(SStable ST,ElemType key){ //顺序表ST中顺序查找键字为key的元素。若找...
分类:
编程语言 时间:
2015-03-14 12:30:58
阅读次数:
264