69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct LNode
{
int num;
struct LNode *next;
}LNode,*LinkList;
void InitiList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(LNode));
(*L)->next=NULL;
}
void LocateElem(LinkList L)
{
int e;
LNode *p;
p=L->next;
printf("\n\t\t输入要查找的数据:");
scanf("%d",&e);
while(p&&p->num!=e)
p=p->next;
printf("%d",p->num);
}
void ListInsert(LinkList *L)
{
int i;
int e;
LNode *p=*L,*s;
int j=0;
printf("\n\t\t输入要插入的结点:");
scanf("%d",&i);
getchar();
printf("\n\t\t输入要插入的数据:");
scanf("%d",&e);
while(p&&(j<i-1))
{
p=p->next;
++j;
}
if(!p||j<i-1)
exit(0);
s=(LinkList)malloc(sizeof(LNode));
s->num=e;
s->next=p->next;
p->next=s;
}
void ListDelete(LinkList *L)
{
int i;
LNode *p,*q;
p=*L;
int j=0;
printf("\n\t\t输入要删除的结点位置:");
scanf("%d",&i);
while((p->next)&&(j<i-1))
{
p=p->next;
++j;
}
if(!(p->next)||j<i-1)
exit(0);
q=p->next;
p->next=q->next;
free(q);
}
void shuru(LinkList *L)
{
LNode *p1,*p2;
int n;
while(scanf("%d",&n)!=EOF)
{
p1=(LinkList)malloc(sizeof(LNode));
p1->num=n;
p1->next=NULL;
if((*L)->next==NULL)
(*L)->next=p1;
else
p2->next=p1;
p2=p1;
}
}
void hebing(LinkList *L,LinkList *T)
{
LinkList LC;
LNode *pa,*pb,*pc;
pa=(*L)->next;
pb=(*T)->next;
LC=(*L);
pc=LC;
while(pa&&pb)
{
if(pa->num<=pb->num)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
pc->next=pa?pa:pb;
free(T);
}
int main()
{
int n,t;
LinkList A;
LinkList B;
LinkList L;
LinkList T;
InitiList(&A);
InitiList(&B);
shuru(&A);
shuru(&B);
printf("选择需要操作的链表:1.A 其它.B");
scanf("%d",&t);
if(t==1)
{L=A;
T=B;}
else
{L=B;
T=A;}
printf("\n\t\t操作选择:");
printf("\n\t\t1:查找");
printf("\n\t\t2:插入");
printf("\n\t\t3:删除");
printf("\n\t\t4:合并");
printf("\n\t\t5:退出");
scanf("%d",&n);
for(;;)
{
switch(n)
{
case 1:LocateElem(L);
case 2:ListInsert(&L);
case 3:ListDelete(&L);
case 4:hebing(&L,&T);
case 5:exit(0);
}
}
free(A);
free(B);
return 0;
}
codeblocks [quote=引用 7 楼 qq423399099 的回复:] 楼主用的什么IDE啊
codeblocks 楼主用的什么IDE啊
codeblocks [quote=引用 7 楼 qq423399099 的回复:] 楼主用的什么IDE啊
codeblocks 楼主用的什么IDE啊
不是程序代码问题,是字符编码问题。。。 实在不行用英文
楼主用的什么IDE啊
楼主用的VS的话可以用宏定义