zoukankan      html  css  js  c++  java
  • 链表(线性表)

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 99  解决: 72
    [提交][状态][讨论版]

    题目描述

    (线性表)设有一个正整数序列组成的有序单链表(按递增次序有序,且允许有相等的整数存在),试编写能实现下列功能的算法 :(要求用最少的时间和最小的空间)
    (1)确定在序列中比正整数x大的数有几个(相同的数只计算一次);
    (2) 在单链表将比正整数x小的数按递减次序排列;

    输入

    输入长度:13

    输入数据:4 5 7 7 8 10 11 15 15 16 17 20 20

    输入x:10

    输出

    5

    8 7 7 5 4

    样例输入

    7
    1 2 3 4 5 6 6
    4

    样例输出

    2
    3 2 1 
    #include<iostream>
    using namespace std;
    struct mm
    {int a;
    mm *s;
    };
    int main()
    {int n,b,c;
    mm *p,*h,*head;
    p=new mm;
    p->s=NULL;
    cin>>n;
     while(n--)
     { 
     cin>>p->a;
    h=new mm;
    h->s=p;
    p=h;
     }
     cin>>b;
     int i=1;
     p=p->s;
     //c=p->a;
     n=0;
     head=p;
     while(p!=NULL)
     {
    	if(p->a>b&&c!=p->a)
    	{n++;c=p->a;}
    	p=p->s;
    	
     }
    cout<<n<<endl;
    p=head;
    while(p!=NULL)
    {if(p->a<b)
    cout<<p->a<<' ';
    p=p->s;
    }
    	
    cout<<endl;
    return 0;
    }

  • 相关阅读:
    JAVA类型之间的转换
    Mysql语句
    Tomcat 优化
    JVM原理及调优
    static
    指针与引用
    sizeof
    遇到问题:c++ 直接cout输出char类型变量地址乱码
    编程过程中全面考虑问题的能力
    表、栈和队列
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3767017.html
Copyright © 2011-2022 走看看