已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列

#include
#include
typedef struct node {         //创建结构体
  int num;
  struct node *next;//指针域
}node , *list;            //结构体指针 
struct node *CreateList()  // Create a linked list in which you can enter data elements
{
  int d;
 list head = (list)malloc(sizeof(node));//创建新的空间
  head->next = NULL;//初始化
 list p = head;     //p为头节点
  scanf("%d", &d);   //输入一个数
  while (d != -1)    //判断
  {
    list q = (list)malloc(sizeof(node));//创建新的空间q
    q->num = d;    //q的值域为d                    
    q->next = NULL;//q的指针域为空
    p->next = q; //p指向q
    p = q;//p向后移
    scanf("%d", &d);//输入数d
  }
  return head;//返回头节点
}
int main() {
  list List_a = CreateList();//创建a链表
  list List_b = CreateList();//创建b链表

你可能感兴趣的:(链表,windows,数据结构)