【王道数据结构编程题】- 两个有序顺序表合并 + 两个顺序表位置互换

目录

1.王道代码题:将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表

2.王道代码题:已知在一维数组A[m+n]中依次存放两个线性表(a1,a2,a3,...,am)和(b1,b2,b3,...,bn)。编写一个函数,将数组中两个顺序表的位置互换,即将(b1,b2,b3,...,bn)放在(a1,a2,a3,...,am)的前面。


其他-王道数据结构算法题-顺序表题,如下:


顺序表-删除最小值元素+元素逆置

顺序表-删除所有值为x的数据元素+删除值在给定值s与t之间的所有元素

顺序表-删除值在给定值之间的元素+删除值重复的元素

顺序表-查找数值为x的元素+循环左移p个位置

顺序表-找出两个序列A和B的中位数+找出序列A的主元素

顺序表-找出未出现的最小正整数+三元组最小距离

1.王道代码题:将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表

代码实现:

//合并有序线性表
#include
using namespace std;
#define Max 50
struct sqlist{
    int data[Max];
    int length;
};
bool verge(sqlist a,sqlist b,sqlist &c)
{
    if(c.length

【王道数据结构编程题】- 两个有序顺序表合并 + 两个顺序表位置互换_第1张图片

2.王道代码题:已知在一维数组A[m+n]中依次存放两个线性表(a1,a2,a3,...,am)和(b1,b2,b3,...,bn)。编写一个函数,将数组中两个顺序表的位置互换,即将(b1,b2,b3,...,bn)放在(a1,a2,a3,...,am)的前面。

代码实现:
 

//线性表前后互换
//123 4567
#include
using namespace std;
#define Max 50
struct sqlist{
    int a[Max];
    int length;
};
void reverse(sqlist &L,int left,int right)
{
    for(int i=left;i<=(right+left)/2;i++)
    {
        int t=L.a[i];
        L.a[i]=L.a[right+left-i];
        L.a[right+left-i]=t;
    }
}
void prin(sqlist L)
{
    for(int i=0;i

【王道数据结构编程题】- 两个有序顺序表合并 + 两个顺序表位置互换_第2张图片

你可能感兴趣的:(数据结构与算法,c++,数据结构,算法)