把数组中负数放在前面,0放中间,正数放后面,并保持相对顺序
2013-04-03 23:38
337 查看
void reSortArray(int Array[], int len) { int NextNegPos = 0; for (int idx = 0; idx < len; idx++) { if (Array[idx] < 0) { int tmp = Array[idx]; for (int j = idx-1; j >= NextNegPos; j--) { Array[j+1] = Array[j]; } Array[NextNegPos] = tmp; NextNegPos++; } } int NextZeroPos = NextNegPos; for (int idx = NextZeroPos; idx < len; idx++) { if (Array[idx] == 0) { for (int j = idx-1; j >= NextZeroPos; j--) { Array[j+1] = Array[j]; } Array[NextZeroPos] = 0; NextZeroPos++; } } }
相关文章推荐
- 一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序。 要求时
- 一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的相对顺序.
- 把数组中的0移到数组前面,其它数字移到后面,并且保持数字间的相对顺序
- 将数组里的负数排在数组的前面,正数排在数组的后面。但不改变原先负数和正数的排列顺序。
- 一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序,比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时
- 一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序,比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时
- 调整数组 使得数组中负数排在前面正数排在后面,并且正数和负数的相对位置不变 (递归思路)
- 划分一个整形数组,把负数放在左边,零放在中间,正数放在右边
- 把数组中负数放在左边零在中间正数放右边
- 不改变正负数相对顺序,重排数组,使负数在正数之前
- 给定一个数组,数组中包含若干个0,将0移至数组前面,其余的相对顺序保持不变
- 数组:f[a,A,h,f,H,F]实现一个排序的效果:[A,a,F,f,H,h],先按字母顺序排列,再把每个字母的大写字母写在前面,小写放在后面。
- 将数组中负数放在正数前面
- 将数组奇数放在偶数前面,并保持相对位置不变
- 将数组中负数放在正数前面
- 将数组中负数放在正数前面
- 调整数组顺序使奇数位于偶数前面【不保持相对位置】
- 调整数组顺序使奇数位于偶数前面,偶数和偶数之间的相对位置不变
- 数组排序使得数组负数在正数左边且按照原来的顺序
- 将一组整数数组中的数字按负数在前,零在中间,正数在末尾摆放。