日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

两个序列的中位数c语言,小白在线求教 用归并排序实现查找两个有序序列的中位数...

發布時間:2024/8/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两个序列的中位数c语言,小白在线求教 用归并排序实现查找两个有序序列的中位数... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

兩個有序序列的中位數 (20分)

已知有兩個等長的非降序序列S1, S2, 設計函數求S1與S2并集的中位數。有序序列A0,A1,?,AN?1的中位數指A(N?1)/2的值,即第?(N+1)/2?個數(A0為第1個數)。

輸入格式:

輸入分三行。第一行給出序列的公共長度N(0

輸出格式:

在一行中輸出兩個輸入序列的并集序列的中位數。

輸入樣例1:51 3 5 7 92 3 4 5 6輸出樣例1:4輸入樣例2:6-100 -10 1 1 1 1-50 0 2 3 4 5輸出樣例2:1

本人所寫代碼:不知如何修改😭

#include "stdio.h"

#include "stdlib.h"

#define N 100000

using namespace std;

void Merge(int r1[N],int low,int mid,int high,int r2[N])

{ //合并兩個序列

int i=low;//第一個序列的第一個元素

int j=mid+1;//第二個序列的第一個元素

int k=low;//合并后新序列的第一個元素

while((i<=mid)&&(j<=high))

{//兩序列進行合并時元素均未取完

if(r1[i]<=r1[j])//序列1的元素小于序列2的 ,則將序列1的元素放入新序列中

r2[k++]=r1[i++];

else//反之,將序列2的元素放入新序列中

r2[k++]=r1[j++];

}

while(i<=mid)//若序列2的元素全放入新序列,而序列1的元素未放完,則將序列1剩余元素放入新序列

{r2[k++]=r1[i++];}

while(i<=mid)//若序列1的元素全放入新序列,而序列2的元素未放完,則將序列2剩余元素放入新序列

{r2[k++]=r1[j++];}

}

void MSort(int r1[N],int low,int high,int r3[N])

{//歸并排序

int mid;

int *r2;

r2=(int *)malloc(sizeof(int)*(high-low+1));//輔助數組空間

if(low==high)//序列元素剛好都放入

r3[low]=r1[low];

else

{

mid=(low+high)/2;//找中間點

MSort(r1,low,mid,r2);//遞歸劃分左半區

MSort(r1,mid+1,high,r2);//遞歸劃分右半區

Merge(r2,low,mid,high,r3);//合并已經排好的部分

}

free(r2);

}

void MergeSort(int r[],int n)//歸并排序入口

{

int high,low;

int *r2;

r2=(int *)malloc(sizeof(int)*(high-low+1));//輔助空間

MSort (r,0,n-1,r2);

free(r2);

}

int main(){

int a[N],b[N],c[N],d[N],e[N];

int n,i,j;

scanf("%d",&n);

for (i=0;i

scanf("%d",&a[i]);

for (j=0;j

scanf("%d",&b[j]);

MergeSort(a,n);

MergeSort(b,n);

for(i=0;i<2*n;i++)

printf("%d ",a[i]);

//printf("%d\n",c[(2*n-1)/2]);

}

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的两个序列的中位数c语言,小白在线求教 用归并排序实现查找两个有序序列的中位数...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。