无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Chapter 2

2023-08-17 09:33 作者:就叫大嘴吧  | 我要投稿

將兩個有序順序表合并為一個新的有序順序表,并由函數(shù)返回結(jié)果順序表。

#include<stdio.h>
#include<stdlib.h>

#define Max 100

struct SqList{
	int data[Max];
	int length;
};

bool merge(SqList a, SqList b, SqList &c){
	// 新合并的表長度 小于 兩表長度和 
	if(c.length < a.length + b.length){
		printf("新合并的表長度 小于 兩表長度和");
		return false; 
	}
	int i = 0, j = 0, k = 0;
	while(i < a.length && j < b.length){
		if(a.data[i] <= b.data[j]){
			c.data[k] = a.data[i];
			k++, i++;
		}
		else{
			c.data[k] = b.data[j];
			k++, j++;
		}
	}
	
	// a 表中元素還有剩余 
	while(i < a.length){
		c.data[k] = a.data[i];
		k++, i++;
	}
	
	// b 表中元素還有剩余 
	while(j < b.length){
		c.data[k] = b.data[j];
		k++, j++; 
	}
	
	return true;
}

// 打印順序表
void show(SqList s){
	if(s.length == 0){
		printf("線性表為空");
		return;
	}
	for(int i = 0; i < s.length; i++){
		printf("%d	", s.data[i]);
	}
	printf("\n"); 
}

int main(){
	
	SqList a = {{1, 3, 5, 7, 9}, 5};
	SqList b = {{2, 4, 6, 8, 10}, 5};
	SqList c;
	c.length = a.length + b.length;
	
	show(a);
	show(b);
	
	if(merge(a, b, c)){
		show(c);
	}
	
	return 0;
}


Chapter 2的評論 (共 條)

分享到微博請遵守國家法律
和田县| 运城市| 嘉兴市| 宜宾县| 汶川县| 鄂托克旗| 商河县| 金华市| 连江县| 常德市| 广丰县| 根河市| 定边县| 孝感市| 阿尔山市| 马边| 老河口市| 杭锦旗| 米脂县| 平和县| 房山区| 鹤山市| 侯马市| 全州县| 呼和浩特市| 常州市| 万源市| 苏州市| 玉山县| 延川县| 朝阳市| 上思县| 三明市| 磐石市| 惠水县| 阿巴嘎旗| 平阴县| 长沙县| 清远市| 城口县| 大冶市|