阿里笔试题,乱序序列的保序输出。
2015-04-02 23:34
225 查看
按自己的思想简单写了一下,多多交流。
#include "stdafx.h" int insertInOrder(int *a,int num,int len){//这个方法可以改进很多,插入数据,再进行排序。 int position; if (a[0]==0) { a[0] = num; position = 1; } for (int i = 0; i < len-1;i++) { if (num>a[i] && num<a[i + 1]) { position = i + 2; for (int j = len-1; j > i+1;j--) { a[j] = a[j-1]; } a[i+1] = num; break; } if (num>a[i] && 0 == a[i + 1]) { position = i + 2; a[i + 1] = num; break; } } return position; } int _tmain(int argc, _TCHAR* argv[]) { int a[100] = { 0 }; int b[] = { 1, 2, 5, 8, 10, 4, 3, 6, 9, 7}; int count = 0; int i = 0; int position;//刚开始的时候想把position从1开始,也带了很多不便。 int len = sizeof(b) / sizeof(int); for (i = 1; i <= len; i++){ position = insertInOrder(a,b[i-1],i); if (count == (position - 1) && position == a[position - 1]) { printf("%d,", a[position - 1]); count++; for (int j = position + 1; j <= len; j++) { if (a[j-1]==0) { break; } if (count == (j - 1) && j == a[j - 1]) { count++; //i++; printf("%d,", a[j-1]); } } printf("\n"); } } return 0; }
输出结果:
1,
2,
3,4,5,
6,
7,8,9,10,
<img src="http://img.blog.csdn.net/20150403115114365?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTQyNjM0MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
相关文章推荐
- 阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 2016阿里实习笔试:乱序保序输出
- 阿里在线笔试题---乱序到来顺序输出
- 2015-4-2的阿里巴巴笔试题:乱序的序列保序输出(bit数组实现hash)
- 阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 网易笔试题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
- 阿里15实习生招聘笔试 字符保序输出问题
- 网易笔试题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
- 写一个算法来将一个乱序的序列保输出
- 阿里笔试:去重和排序,重新输出Markdown格式
- 阿里笔试题:求两个子序列的最大连续子序列
- 2012.9腾讯笔试题: 顺序输出到栈, 栈中元素可任意时刻出栈. 求输出序列的可能数
- 阿里2015 实习笔试题笔记 分布式系统中的RPC请求经常出现乱序的情况
- 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 阿里笔试题:求两个子序列的最大连续子序列
- 字符串尾序列(阿里笔试题)
- 阿里校招笔试——给定一个字符串S和有效单词的字典D,请确定可以插入到S中的最小空格数,使得最终的字符串完全由D中的有效单词组成,并输出解。
- 2012.9腾讯笔试题: 顺序输出到栈, 栈中元素可任意时刻出栈. 求输出序列的可能数
- 2015年阿里在线笔试题:求两个字符串的最大公共子序列长度的C语言解法
- 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出