别看我只是一只羊


私信TA

用户名:bkwzsyzy

访问量:4410

签 名:

等  级
排  名 2371
经  验 2339
参赛次数 1
文章发表 23
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

结构体使用,结构体指针


参考代码:


#include<stdio.h>
#include<malloc.h>


typedef struct Node {
	int  sno;
	int sc;
	struct Node* next;
}node, * LinkList;

LinkList L,La,lc;
InitList(LinkList* L) {
    	*L = (LinkList)malloc(sizeof(node));	//建立头结点
	(*L)->next = NULL;						//建立空的单链表L
}

void CreateFromHead(LinkList L,int flag) {
	node* s;
	int c;
	int n;
	int f=0;
	while (f<flag) {
	    scanf("%d", &n);
		scanf("%d", &c);
		
		f++;
		//if (c != 0) {
			s = (node*)malloc(sizeof(node));//建立新结点
			s->sc = c;
			s->sno=n;
			s->next = L->next;				//将s结点插入表头
			L->next = s;
	//	}
	
	}
}


void OutputList(LinkList L) {
	if (L->next == NULL) {
		printf("空表!");
	}
	else {
	  node* p;
		p = L->next;
		while (p) {
			printf("%d %d\n", p->sno,p->sc);
			p = p->next;
		}
	}
}


/*升序排序*/
void AscSort(LinkList L) {
	node* s, * pre, * p, * temp;
	//if (L->next == NULL)
	//	return ERROR;
	s = L->next->next;
	L->next->next = NULL;
	while (s != NULL) {
		pre = L;
		p = L->next;
		while (p && s->sno > p->sno) {
			pre = p;
			p = p->next;
		}
		temp = s->next;
		pre->next = s;
		s->next = p;
		s = temp;
	}
}

void hb(LinkList l1,LinkList l2){
   // printf("l3:");
    node *pa,*pb,*r;
    LinkList l3;
    pa=l1->next;
    pb=l2->next;
    l3=l1;
    l3->next=NULL;
    r=l3;
    while(pa!=NULL&&pb!=NULL){
        if(pa->sno<pb->sno){
            r->next=pa;r=pa;pa=pa->next;
        }
        else{
            r->next=pb;r=pb;pb=pb->next;
        }
    }
    
    if(pa)
    r->next=pa;
    else
    r->next=pb;
    free(l2);
    //printf("l3:");
     OutputList(l3);
   // return (l3);
     
    
}

int main()
{
    InitList(&L);
    InitList(&La);
    int flag;
    int a;
    scanf("%d",&flag);
    scanf("%d",&a);
    CreateFromHead(L,flag);
    CreateFromHead(La,a);
    AscSort(L);
    AscSort(La);
    //OutputList(L);
    //printf("\n");
    //OutputList(La);
    //printf("l3:\n");
    hb(L,La);
    
   
	return 0;
}
 

0.0分

0 人评分

  评论区

  • «
  • »