#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
#define Maxsize 30
typedef struct {
int data[Maxsize];
int length;
}SqList;
void Mid_search(SqList &L1, SqList &L2,SqList &L3)
{
//两顺序表先合成一个顺序表,然后拿出中位数,注意点一、有相同数。二、顺序表
int i = 0, j = 0, k = 0;
while(L1.length >i && L2.length>j)
{
if(L1.data[i]>L2.data[j])
{
L3.data[k++] = L2.data[j++];
}
else if (L1.data[i] < L2.data[j])
{
L3.data[k++] = L1.data[i++];
}
else if (L1.data[i] == L2.data[j])
{
L3.data[k++] = L1.data[i++];
j++;
}
}
while (L1.length > i)
{
L3.data[k++] = L1.data[i++];
}
while (L2.length > j)
{
L3.data[k++] = L2.data[j++];
}
L3.length = k;
int mid;
if (k % 2 == 0)
{
mid = L3.data[L3.length / 2-1];
}
else if(k%2==1)
{
mid = L3.data[(L3.length - 1) / 2];
}
cout << k << "here" << endl;
cout << mid<<"这里"<<endl;
}
void show_data(SqList &L)
{
for (int i = 0; i < L.length; i++)
{
cout << L.data[i] << "展示" << endl;
}
}
int main()
{
SqList L1 = { { 1,2,31,41,51,61 },6 };
SqList L3;
SqList L2 = { {3,4,6,8,10,11},6};
Mid_search(L1, L2, L3);
show_data(L3);
system("pause");
return 0;
}
王道数据结构20页第11题
最新推荐文章于 2024-07-26 00:37:03 发布