#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct NODE
{
int data; //数据
int mark; //标记->来自哪一个数组
} ;
int node_num;
void get_random_array(int *a, int l)
{
int i;
for(i=0;i<l;i++)
a[i]=rand()%100;
}
void insert_sort(int a[],int n)
{
int i,j,tmp;
for(i=1;i<n;i++)
{
j=i-1;
tmp=a[j+1];
while(j>=0&&a[j]>tmp)
{
a[j+1]=a[j];
j--;
}
a[j+1]=tmp;
}
}
void print_array(int *a, int l)
{
int i;
for(i=0;i<l;i++)
printf("%d ",a[i]);
printf("\n");
}
void shift(struct NODE **h, int s, int t)
{
int i = s;
int j = i*2;
struct NODE * n;
n=h[i];
while(j<=t)
{
if(j<t&&h[j]->data>h[j+1]->data)
j+
K路归并的一个简单实现
最新推荐文章于 2023-08-08 11:09:30 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)