每天小练笔4-整数排序操作

原创 2015年07月07日 14:23:33

题目
描述:
实现输入一组大于等于0的整数,根据从小到大的顺序排序后输出,排序后有连续数时,只输出连续数中最小和最大的两个数。
题目类别: 排序
难度: 高级
运行时间限制: 10Sec
内存限制: 128MByte
阶段: 入职前练习
输入:
一组大于等于0的整数,不考虑非法输入,各个整数之间以逗号(“,”)分隔, 输入字符串的总长度小于等于100个字节。
输出:
排序后的值,各个整数之间以空格分隔。
样例输入:
1,4,3,110,2,90,7
样例输出:
1 4 7 90 110

这里数据输入时,不是很顺畅,
排序后,不输出的数的特性就是,比前一个数大一,比后一个数小一

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>
using namespace std;

vector <int> input;
vector <int> buff;


int main()
{
    int tmp;
    int i,j;
    freopen("test.txt","r",stdin);

    while(1)
    {
        cin>>tmp;
        input.push_back(tmp);
        if(cin.get()!=',')
            break;
    }
    sort(input.begin(),input.end());

    for(i=0;i<input.size();++i)
    {
        if(i==0 || i ==(input.size()-1))
            buff.push_back(input[i]);
        else
        {
            if((input[i]+1==input[i+1])&&(input[i]-1==input[i-1]))
                ;
            else
                buff.push_back(input[i]);
        }

    }

    for(i=0;i<buff.size();++i)
    {
        cout<<buff[i]<<" ";
    }
    cout<<endl;
    return 0;
}

看看这个问题 人家如何处理
http://blog.csdn.net/sunnyyoona/article/details/46678219
以字符string输入,
if(str[i] >= ‘0’ && str[i] <= ‘9’){
num = num * 10 + str[i] - ‘0’;
太麻烦

版权声明:本文为博主原创文章,未经博主允许不得转载。

每天小练笔5-删除重复字符

题目 描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 题目类别: 字符串 难度: 中级 运行...

每天小练笔9-数字基(递归应用)

题目 描述: 求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复; 题目类别: 数组 难度: 初级 运行时间限制: 10Sec 内存限制: 128MByte...

每天学习一算法系列(4) (输入一个整形数组,数组里有正数也有负数,数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和)

题目: 输入一个整形数组,数组里有正数也有负数,数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2...

数据结构顺序表相关基本操作练笔

数据结构顺序表相关基本操作练笔 {CSDN:CODE:1931636}
  • I_amSHm
  • I_amSHm
  • 2016年10月16日 15:39
  • 207

2012/4/9----二叉查找树(二叉排序树)的各种操作

不知不觉都快5天没更新内容了,倒不是自己坚持不下来。一方面是因为二叉树这一块难度也比开始增大了,所以学习进度也就相对来说慢了一点。但更重要的是在学算法的同时也还有其他东西需要学习,在算法上面不能花太多...
  • akon405
  • akon405
  • 2014年03月15日 10:47
  • 303

深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则

from:http://www.blogjava.net/xylz/archive/2010/07/03/325168.html 在这个小结里面重点讨论原子操作的原理和设计思想。 由于在下...
  • STU756
  • STU756
  • 2015年05月20日 16:35
  • 480

NO4.java学习笔记(数组、数组的操作【遍历、排序、查找】)

一、数组。 概念:同一种类型的数据的集合。其实数组就是一个容器。 好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。 格式:元素类型[]  数组名= new 元素类型[元素个数或者数组长度]...

CUDA并行排序(1)——整数

  • 2017年12月06日 21:28
  • 1.2MB
  • 下载

VS整数排序

  • 2012年11月15日 00:01
  • 531B
  • 下载

【每天一个算法】一、交换两个整数

交换两个整数:通常有三种方法。 很简单,就是交换两个整数的值。 ====================================================== #include...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:每天小练笔4-整数排序操作
举报原因:
原因补充:

(最多只允许输入30个字)