整数排序

原创 2015年07月08日 20:41:49


//实现输入一组大于等于0的整数,根据从小到大的顺序排序后输出,排序后有连续数时,只输出连续数中最小和最大的两个数。
 
题目类别: 排序
难度: 高级
分数: 
运行时间限制: 10 Sec
内存限制: 128 MByte
阶段: 招聘管理
输入: 一组大于等于0的整数,不考虑非法输入,各个整数之间以逗号(“,”)分隔, 输入字符串的总长度小于等于100个字节。
 
输出: 排序后的值,各个整数之间以空格分隔。
 
样例输入: 1,4,3,110,2,90,7
样例输出: 1 4 7 90 110
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
void main()
{
 char str[200];
 cin>>str;
 if(str==NULL)
  return;
 int len=strlen(str);
 if(len<0||len>100)
  return;
  vector<int > ivec;

  int i=0;
  int num=0;
  int sum=0;
  while(str[i]!='\0')
  {
   if(str[i]==',')
    i++;
   else
   {
    while(str[i]!=','&&i<len)
    {
     num=str[i]-'0';
     sum=sum*10+num;
     i++;
    }
    ivec.push_back(sum);
    num=0;
    sum=0;
   }
  }
  sort(ivec.begin(),ivec.end());
  int size=ivec.size();
 
  cout<<ivec[0]<<" ";
  for(int j=1;j<size-1;j++)
  {
   if(ivec[j-1]+1!=ivec[j]||ivec[j]+1!=ivec[j+1])
    cout<<ivec[j]<<" ";
  }
  cout<<ivec[size-1];
  ivec.clear();
  cout<<endl;

}

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

lintcode 整数排序 1和2

package cn.edu.tju.cs.bigdata.chc; public class 整数排序1 { /** * @author 小锦囊 * 冒泡排序 */ publi...
  • u014470581
  • u014470581
  • 2016年10月16日 15:53
  • 622

Java实现-整数排序ii

给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。 您在真实的面试中是否遇到过这个题?  Yes 样例 给...
  • qq_14927217
  • qq_14927217
  • 2017年06月28日 10:29
  • 456

LintCode入门练习——463. 整数排序

对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。 以上是在LintCode上的样例。        此次排序采用的是冒泡排序法。void sortIn...
  • a862229403
  • a862229403
  • 2018年01月23日 01:46
  • 24

zzuli OJ 1022: 三整数排序

Description  从键盘输入三个整数x,y和z,按从大到小的顺序输出它们的值。 Input 输入三个整数x,y和z。 ...
  • sinat_25926481
  • sinat_25926481
  • 2015年08月28日 15:46
  • 4075

lintcode整数排序的完整c++代码

今天,第一次将lintcode的代码放入VS中调试。 难点是c++中vector的用法。具体使用方法可以看一下http://www.cnblogs.com/wang7/archive/2012/04...
  • xinzaichenmo
  • xinzaichenmo
  • 2017年05月23日 16:47
  • 370

LintCode 整数排序

题目描述: 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。您在真实的面试中是否遇到过这个题? Yes 样例 对于数组 [3, 2, 1, 4, 5]...
  • sinat_34336698
  • sinat_34336698
  • 2017年06月15日 08:32
  • 332

zzuli OJ 1020: 两整数排序

Description  从键盘输入两个整数x,y,按从小到大的顺序输出它们的值。 Input 输入两个整数x,y。 Output 按从小...
  • sinat_25926481
  • sinat_25926481
  • 2015年08月28日 15:43
  • 2393

【c语言】用选择法对10个整数排序

#include int main() { int i,j,min,temp,a[11]; printf("enter data:\n"); for(i=1;i
  • wmy_1995
  • wmy_1995
  • 2016年04月13日 21:39
  • 9798

lintcode-入门-整数排序

描述:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 样例 对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4,...
  • zlj1217
  • zlj1217
  • 2017年02月16日 12:37
  • 80

LintCode 第463题 整数排序

题目描述: 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要...
  • luobo140716
  • luobo140716
  • 2017年12月02日 14:32
  • 52
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:整数排序
举报原因:
原因补充:

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