线性表笔记2

这里给出我觉得需要注意下标的代码

题目:将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表

思路:先循环遍历其中的一个顺序表,将其中元素比较完后放置在一个新的顺序表里,然后再检查是否有顺序表未遍历完的部分,如未遍历完直接接上即可(此时后面元素有序)

代码:

/**
本次测试数据为:
l = {
  {1,2,3,4,5},5};
s = {
  {1,2,3,4,5},5};
输出数据为:
1,1,2,2,3,3,4,4,5,5
**/
taticSqlist mergetwolist(StaticSqlist l1,StaticSqlist l2)
{
	StaticSqlist l;
	int i=0,j=0,k=0;
	while(i<l1.length && j<l2.length){
		if(l1.data[i] > l2.data[j]){ 
		/** 
		注意这里的不等号,必须是大于,因为顺序表是由小到大的顺序进行排列的 
		为什么是大于呢?如果是大于的话才能按照从小到大的顺序进行排列,下一个链表的元素才能继续向后衔接
		例举数据:l1{1,2,3,4,5} l2{1,2,3,4,5} 
		(例如大于号时,l1的第一个元素是1,l2的第一个元素也是1,此时执行到else里的语句,然后进行i++,现在i等于2了,执行if体里的语句,l2的元素被衔接,以此类推...)
		(反观如果小于号时,l1的第一个元素是1 ,l2的第一个元素也是1,此时执行到eles里面的语句 然后进行i++,现在i等于2了࿰
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值