Data structure
Data Structure Review Training ---Wangdao
北极熊的芒果糖
这个作者很懒,什么都没留下…
展开
-
顺序表习题2.7
第二章:顺序表P197.将两个有序顺序表合并为一个新的有序顺序表。思想:首先,按顺序不断取下两个顺序表表头较小的结点存入新的顺序表中。然后,看那个表还有剩余元素,将剩下的部分加到新的顺序表后面。#include<iostream>using namespace std;#define MaxSize 100#define N 11#define M 5typedef struct{ int *data; int length; }SqList;.原创 2020-07-22 17:03:52 · 254 阅读 · 0 评论 -
顺序表习题2.6
第二章:顺序表P196.从有序顺序表中删除所有其值重复的元素,使表中所有的元素值不同。思想:初始时将第一个元素视为非重复的有序表。之后依次判断后面的元素是否与前面非重复有序表的最后一个元素相同,若相同则继续往后判断找不同的,若不同则插再新的非重复有序表的后面,直至判断到表尾为止。#include<iostream>using namespace std;#define MaxSize 100#define N 11typedef struct{ int *data;原创 2020-07-22 16:31:30 · 474 阅读 · 0 评论 -
顺序表习题2.5
第二章:顺序表P195.从无序顺序表中删除其值在给定值s与t之间(要求是s<t)的所有元素,如果s或者t不合理或顺序表为空,则显示出错信息并退出运行。思路:利用的题3的思路,k中间变量计数,每个不在范围内的元素只移动一次,算法效率高。#include<iostream>using namespace std;#define MaxSize 100#define N 11typedef struct{ int *data; int length;原创 2020-07-22 16:09:15 · 210 阅读 · 0 评论 -
顺序表习题2.4
第二章:顺序表P194.从有序顺序表中删除其值在给定值s与t之间(要求是s<t)的所有元素,如果s或者t不合理或顺序表为空,则显示出错信息并退出运行。思路:本题是有序表,删除的元素必然是相连的整体,先寻找值大于等于s的第一个元素(第一个要删除的元素),然后寻找值大于t的第一个元素(最后一个删除的元素的下一个元素),要将这段元素删除,只需直接将后面的元素前移。#include<iostream>using namespace std;#define MaxSize 100原创 2020-07-22 15:40:33 · 309 阅读 · 0 评论 -
顺序表习题2.3
第二章:顺序表P193.对长度为n的顺序表L,编写一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素。#include<iostream>using namespace std;#define MaxSize 100#define N 11typedef struct{ int *data; int length; }SqList;//初始化void initlist(SqList &L)原创 2020-07-22 12:31:47 · 286 阅读 · 0 评论 -
顺序表习题2.2
第二章:顺序表P192.设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)。思想:扫描顺序表L的前半部分元素,对元素L.data【i】(0<=i<L.length/2),将其与后半部分的对应元素L.data【L.length-i-1】进行交换。#include<iostream>using namespace std;#define MaxSize 100#define N 11typedef struct{ int *data;原创 2020-07-22 12:00:56 · 225 阅读 · 0 评论 -
顺序表习题2.1
第二章:顺序表P191.从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。#include<iostream>using namespace std;#define MaxSize 100#define N 11typedef struct{ int *data; int length; }SqList;//初始化void initlist(SqList &.原创 2020-07-22 11:42:43 · 283 阅读 · 0 评论