⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hb.cpp

📁 这个是数据结构中的数组合并程序,请大家指点一下
💻 CPP
字号:
//有序合并两个数组(重复的也保留) 
#include<iostream> 
#include<memory> 
using namespace std; 

int a[4],b[7],c[11];   ]
int merge(int af[],int lena,int bf[],int lenb)  //有序合并 
{ 
 int i=1,j=1,k=1; 
 do            //检索a[i]b[j]中较小的,赋给c[k] 
 { 
  while((af[i]>=bf[j])&&(j<=lenb)) 
  { 
   c[k]=bf[j]; 
   j++; 
   k++; 
  } 
  while((af[i]<bf[j])&&(i<=lena)) 
  { 
   c[k]=af[i]; 
   i++; 
   k++; 
  } 
 }while((i<=lena)&&(j<=lenb));     //当完成a或b任一个的检索后,将另一个全赋于c 
 for(;j<=lenb;j++) 
 { 
  c[k]=bf[j]; 
  k++; 
 } 
 for(;i<=lena;i++) 
 { 
  c[k]=af[i]; 
  k++; 
 } 
 return k;          //返回c的长度 
} 
  
int main() 
{ 

 //a b的赋值并排列 
 int n_a=4; 
  cout<<"enter the nums"<<endl; 
 for(int j=1;j<=n_a;j++) 
  cin>>a[j]; 

 int n_b=7; 
  cout<<"enter the nums"<<endl; 
 for( j=1;j<=n_b;j++) 
  cin>>b[j]; 

 //合并ab于c 
 int i=merge(a,n_a,b,n_b)-1; 
  
 //输出 
 for(j=1;j<=i;j++) 
  cout<<c[j]<<" "; 
 cout<<endl; 
 return 0; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -