zoukankan      html  css  js  c++  java
  • 链表合并

    #include <stdio.h>
    #include <malloc.h>
    
    typedef struct LNode{		//定义结构体 
    	int data;
    	struct LNode *next;
    }Node,*LinkList;
    
    void InitList(LinkList &);	//初始化链表 
    void output(LinkList);	//遍历链表 
    void merge(LinkList & , LinkList &);	//合并链表 
    
    int main(void){
    	LinkList L;
    	printf("请输入第一个链表(输入-1表示结束):");
    	InitList(L);
    	output(L);
    	
    	LinkList S;
    	printf("请输入第二个链表(输入-1表示结束):");
    	InitList(S);
    	output(S);
    	
    	merge(L,S);
    	
    	return 0;
    }
    
    void InitList(LinkList &L){		//初始化链表 
    	L = (Node*)malloc(sizeof(Node));
    	L->next = NULL;
    	int e;
    	Node *p = L;
    	scanf("%d",&e);
    	while(e != -1){
    		Node *s = (Node*)malloc(sizeof(Node));
    		s->data = e;
    		s->next = p->next;
    		p->next = s;
    		p = s;
    		scanf("%d",&e);
    	}
    }
    
    void output(LinkList L){	//遍历链表 
    	Node *p = L->next;
    	printf("当前链表是:");
    	while(p != NULL){
    		printf("%d ",p->data);
    		p = p->next;
    	}
    	printf("
    ");
    }
    
    void merge(LinkList &L , LinkList &S){		//合并链表 
    	Node *La = L->next;
    	Node *Ls = S->next;
    	LinkList C = L;
    	Node *Lc = L;
    	while(La != NULL && Ls != NULL){
    		if(La->data <= Ls->data){
    			Lc->next = La;
    			Lc = La;
    			La = La->next;
    		}else{
    			Lc->next = Ls;
    			Lc = Ls;
    			Ls = Ls->next;
    		}
    	}
    	if(La != NULL){
    		Lc->next = La;
    	}
    	if(Ls != NULL){
    		Lc->next = Ls;
    	}
    	free(S);
    	output(C);
    }
    
  • 相关阅读:
    iOS如何获取蓝牙Mac地址
    iOS完整App资源收集
    四月兄弟AprilBeacon
    图片360°旋转动画(
    图片圆角
    获取子字符串在元字符串中出现的所有位置
    调用系统震动 循环震动
    ibecon后台运行
    uiwebview 加载本地js、css、img,html从网站加载
    获取蓝牙mac地址
  • 原文地址:https://www.cnblogs.com/Timesi/p/12756212.html
Copyright © 2011-2022 走看看