zoukankan      html  css  js  c++  java
  • 单链表的拆分

    Problem Description
    输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
    Input
    第一行输入整数N;;
    第二行依次输入N个整数。
    Output
    第一行分别输出偶数链表与奇数链表的元素个数; 
    第二行依次输出偶数子链表的所有数据;
    第三行依次输出奇数子链表的所有数据。
    Example Input
    10
    1 3 22 8 15 999 9 44 6 1001
    Example Output
    4 6
    22 8 44 6 
    1 3 15 999 9 1001
    
    
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    using namespace std;
    struct node
    {
        int data;
        struct node *next;
    }*head1,*head2;
    int m,k;//m记录偶数的个数,k记录奇数的个数
    struct node *creat(int n)
    {
        m=0;
        k=0;
        int i;
        struct node *t,*p,*q;
        head1=(struct node *)malloc(sizeof(struct node));
        head2=(struct node *)malloc(sizeof(struct node));
        head1->next=NULL;
        head2->next=NULL;
        t=head1;
        q=head2;
        for(i=0;i<n;i++)
        {
            p=(struct node *)malloc(sizeof(struct node));
            scanf("%d",&p->data);
            if(p->data%2==0)
            {
                p->next=NULL;
                t->next=p;
                t=t->next;
                m++;
            }
            else
            {
                p->next=NULL;
                q->next=p;
                q=q->next;
                k++;
            }
        }
        return head1;
    };
    void show(struct node *head)
    {
        struct node *p;
        p=head->next;
        while(p)
        {
            if(p->next==NULL)
                printf("%d
    ",p->data);
            else
                printf("%d ",p->data);
            p=p->next;
        }
    }
    int main()
    {
        int n;
        scanf("%d",&n);
        creat(n);
        printf("%d %d
    ",m,k);
        show(head1);
        show(head2);
        return 0;
    }
  • 相关阅读:
    next_permutation( ) 和prev_permutation( ) 全排列函数
    F
    STL入门
    H
    C
    提交按钮组件
    JScorllPane面板(带滚轮的JPane)
    JPanel画板
    网络布局管理器
    边界布局管理器
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9454754.html
Copyright © 2011-2022 走看看