⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a并b.c

📁 一个计算两个集合的并集的小程序
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
typedef struct list
{
 long num;
 struct list *next;
}list;
list *create();
list *insert(list *hsor,list *hcmp);
int print(list *h);

void main()
{
 list *h1,*h2;
 system("cls");
 printf("create array:\n");
 h1=create();
 printf("create insert array:\n");
 h2=create();
 h1=insert(h1,h2);
 print(h1);
}

list *create()
{
 int index=0;
 list *p,*q,*head;
 p=(list *)malloc(sizeof(list));
 head=p;
 for(;;)
 {
  index++;
  scanf("%d",&p->num);
  if(p->num==0)
  {
   p->next=NULL;
   break;
  }
  q=(list *)malloc(sizeof(list));
  p->next=q;
  p=q;
 }
 if(index==0)head=NULL;
 return head;
}

list *insert(list *hsor,list *hcmp)
{
 int i=0;list *p,*p1,*t;
 p=hsor;
 while(hcmp->num!=0)
 {
  hsor=p;
  for(;;)
  {
   if(hsor->num==hcmp->num)
   {i=1;break;}
   else i=0;
   t=hsor;
   hsor=hsor->next;
   if(hsor->num==0)
   {hsor=t;break;}
  }
  if(i==0)
  {
   p1=(list *)malloc(sizeof(list));
   p1->num=hcmp->num;
   p1->next=hsor->next;
   hsor->next=p1;
  }
  hcmp=hcmp->next;
 }
 return p;
}

int print(list *h)
{
 printf("current array is:\n");
 for(;;)
 {
  if(h->num==0)break;
  printf("%d\t",h->num);
  h=h->next;
 }
 return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -