240 发简信
IP属地:江苏
  • 输入无序的元素,分别建立两个有4个结点的逆序单链表(有头结点)(显示排序后的链表),交换两个单链表的第二个结点(注意不能采取直接赋值的方式,要进行结点的移动),最后显示链表中元素。

    2019-12-24

    def 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-24

    def compare(str1, str2): str1_list = list(str1) str2_list = list(str2) str1_list.sort()...