毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

两有序数组的归并+NS图+C++源程序

更新时间:2011-4-26:  来源:毕业论文

两有序数组的归并+NS图+C++源程序
 题目内容
编写程序,将两个有序的一维数组(元素已从小到大排序好)归并成一个
有序的一维数组,并输出。
1.2  N-S图:
a[4]={2,5,3,6}, b[4]={9,8,7,17}
输出未排序的a数组
调用函数A
输出排序后的a数组
输出未排序的b数组
调用函数A
输出排序后的b数组
调用函数C
                                  a[i]>b[j]
是                                                                     否

c[k++]=b[j++] 
c[k++]=a[i++]
i==4
是                                                                 否
c[k++]=b[j] c[k++]=a[i];
输出归并后数组:

1.3   源程序及注释
#include<iostream.h>
void main()
{
 void A(int a[],int n);       //对A函数进行声明
   void C(int a[],int b[],int n);    //对C函数进行声明
 int a[4]={2,5,3,6};
 int b[4]={9,8,7,17};
 int i,j;
 cout<<endl<<"未排序的a数组:"<<endl;
 for(i=0;i<4;i++)
 {
  cout<<a[i]<<"  ";
  
 }
 cout<<endl<<"排序后的a数组:"<<endl;
 A(a,4);                                //调用A函数
 for(i=0;i<4;i++)
 {
  cout<<a[i]<<"  ";
 }
 cout<<endl<<"未排序的b数组:"<<endl;
 for(j=0;j<4;j++)
 {
      cout<<b[j]<<"  ";
 }
 cout<<endl<<"排序后的b数组:"<<endl;
 A(b,4);
 for(j=0;j<4;j++)
 {
  cout<<b[j]<<"  ";
 }
 C(a,b,8);                             //调用C函数
 
}
void A(int a[],int n)                       //定义A函数
{
 int i,j,k,t;
 for(i=0;i<n-1;i++)                     //选择法排序
 {
  k=i;
  for(j=i+1;j<n;j++)
   if(a[j]<a[k])
    k=j;
   t=a[k];a[k]=a[i];a[i]=t;
 }
}
void C(int a[],int b[],int n)                 //定义C函数
{
  int i,j,k=0;
     int c[原文请找腾讯752018766六,维-论'文"网http://www.lwfree.cn          else
             c[k++]=a[i++];
     }
     if(i==4)
     {
         for(;j<4;j++)
             c[k++]=b[j];
     }
     else
     {
         for(;i<4;i++)
             c[k++]=a[i];
     }
     cout<<endl<<"归并后数组:"<<endl;            //输出数组
     for(i=0;i<k;i++)
         cout<<c[i]<<"  ";
}
1.4   运行结果1800

两有序数组的归并+NS图+C++源程序下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。