输入无序的元素,分别建立两个有4个结点的逆序单链表(有头结点)(显示排序后的链表),交换两个单链表的第二个结点(注意不能采取直接赋值的方式,要进行结点的移动),最后显示链表中元素。
2019-12-24def compare(str1, str2): str1_list = list(str1) str2_list = list(str2) str1_list.sort()...
输入无序的元素,分别建立两个有4个结点的逆序单链表(有头结点)(显示排序后的链表),交换两个单链表的第二个结点(注意不能采取直接赋值的方式,要进行结点的移动),最后显示链表中元素。
2019-12-24def compare(str1, str2): str1_list = list(str1) str2_list = list(str2) str1_list.sort()...
#include <stdio.h>
#include <malloc.h>
#define LN 3//最大链表元素数量,这里题目只要3个
typedef struct list
{
int num;
struct list *next;
}LIST;
LIST * creatList();
LIST *px(LIST *listP);
void printfLIST(LIST *listP);
LIST *cLists(LIST *listP1,LIST *listP2);
int main()
{
LIST *listP1=NULL,*listP2=NULL;
listP1=creatList();
px(listP1);
listP2=creatList();
px(listP2);
printfLIST(listP1);
printfLIST(listP2);
printfLIST(cLists(listP1,listP2));
return 0;
}
void printfLIST(LIST *listP)//打印链表
{ int n=0;
while(listP)
{
if (n==3)
printf("\n");
printf("%d ",listP->num);
if(listP->next==NULL)
break;
listP=listP->next;
n++;
}
printf("\n");
}
LIST * creatList()//输入创建单链表,返回首节点指针
{
int i=LN;
LIST *listP=NULL,*listTail=NULL;
while(i-->0)
{
LIST *listNew=(LIST *)malloc(sizeof(LIST));
listNew->next=NULL;
scanf("%d",&listNew->num);
if(listP==NULL)
listP=listNew;
else
listTail->next=listNew;
listTail=listNew;
}
return listP;
}
LIST *px(LIST *listP)//排序,返回首节点指针
{
LIST * listf=listP,*listn=NULL;
while(listf)
{
listn=listf->next;
while(listn)
{
if(listf->num>listn->num)
listf->num^=listn->num,listn->num^=listf->num,listf->num^=listn->num;
if(listn->next==NULL)
break;
listn=listn->next;
}
if(listf->next==NULL)
break;
listf=listf->next;
}
return listP;
}
LIST *cLists(LIST *listP1,LIST *listP2)
{
LIST *listP3=listP2;
LIST *q,*p,*t;
while(listP2)
{
if(listP2->next->next==NULL)
break;
listP2=listP2->next;
}
q=listP1->next;
p=listP2->next;
p->next=q;
t=listP1;
t->next=listP2;
listP2->next=q->next;
q->next->next=listP3;
listP3->next=q;
q->next=p;
p->next=NULL;
listP1=t;
return listP1;
}
2019-12-24def compare(str1, str2): str1_list = list(str1) str2_list = list(str2) str1_list.sort()...
太酷了
验证账号