有序表归并算法
来源:互联网 发布:查询统计不重复的数据 编辑:程序博客网 时间:2024/05/22 12:28
#include"iostream"
#include <time.h>
using namespace std;
struct Sqlist
{
int data[100];
int length;
};
void merge(Sqlist l1,Sqlist l2,Sqlist& l3)
{
int i = 0, j = 0, k = 0;
while (i != l1.length&&j != l2.length)
{
if (l1.data[i] > l2.data[j])
{
l3.data[k] = l2.data[j];
k++; j++;
}
else
{
l3.data[k] = l1.data[i];
k++; i++;
}
}
while (i < l1.length)
{
l3.data[k] = l1.data[i];
k++; j++;
}
while (j < l2.length)
{
l3.data[k] = l2.data[j];
k++; j++;
}
l3.length = k;
}
int main()
{
Sqlist l1; l1.length = 3; l1.data[0] = 1; l1.data[1] = 3; l1.data[2] = 5;
Sqlist l2; l2.length = 3; l2.data[0] = 2; l2.data[1] = 4; l2.data[2] = 6;
Sqlist l3;
merge(l1, l2, l3);
for (int i = 0; i < 6; i++)
{
cout<<l3.data[i]<<" ";
}
return 0;
}
#include <time.h>
using namespace std;
struct Sqlist
{
int data[100];
int length;
};
void merge(Sqlist l1,Sqlist l2,Sqlist& l3)
{
int i = 0, j = 0, k = 0;
while (i != l1.length&&j != l2.length)
{
if (l1.data[i] > l2.data[j])
{
l3.data[k] = l2.data[j];
k++; j++;
}
else
{
l3.data[k] = l1.data[i];
k++; i++;
}
}
while (i < l1.length)
{
l3.data[k] = l1.data[i];
k++; j++;
}
while (j < l2.length)
{
l3.data[k] = l2.data[j];
k++; j++;
}
l3.length = k;
}
int main()
{
Sqlist l1; l1.length = 3; l1.data[0] = 1; l1.data[1] = 3; l1.data[2] = 5;
Sqlist l2; l2.length = 3; l2.data[0] = 2; l2.data[1] = 4; l2.data[2] = 6;
Sqlist l3;
merge(l1, l2, l3);
for (int i = 0; i < 6; i++)
{
cout<<l3.data[i]<<" ";
}
return 0;
}
阅读全文
0 0
- 有序表归并算法
- 有序表归并算法
- 有序表归并算法
- 有序线性表的归并算法
- 有序列表的归并算法
- 有序单链表的归并算法
- 归并有序表
- 【应用】归并有序表
- 有序顺序表归并
- 有序顺序表归并
- 有序顺序表归并
- 有序顺序表归并
- 数据结构之有序链表归并算法1
- 数据结构之有序链表归并算法2
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 归并两个有序链表
- Unity Spine 换图(通过外部图片)
- svn恢复一个文件到某个版本
- 73-Set Matrix Zeros
- MYSQL数据库(十七)- 存储过程
- 用Python做数据分析初探(三)
- 有序表归并算法
- 在Java中调用C/C++
- 【WPF】Xaml设置图标
- 74-Search A 2D Matrix
- python机器学习
- 75-Sort Colors
- jqGrid---问题:多级表格展开“+”按钮显示不出来
- spring boot 学习
- Day05_spark