将数组排序,数组中所有的负整数出现在正整数前面(时间复杂度为 O(n), 空间复杂度为 O(1)).
2016-06-25 21:33
363 查看
<pre name="code" class="plain">#include <stdio.h> #define N 10 void swap (int *a, int i, int j); int main(void) { int a = {1, -1, -2, 0, -4, -4, -5, 7, 8, -10}; int i = 0; int j = 0; int isswap = 0; for(i = 0, j = N - 1; i != j;) { if(isswap == 0) { if(a[j] < 0) { isswap = 1; continue; //不需要移动,就替换当前的值 } j--; //如果当前值大于0,则移动下标 } if(isswap == 1) { if(a[i] >= 0) { swap(a, i, j); isswap = 0; } i++; } } for(i = 0; i < N; i++) { printf("%4d", a[i]); } puts("\n"); return 0; } void swap (int *a, int i, int j) { int temp; temp = a[i]; a[i] = a[j]; a[j] = temp; }
相关文章推荐
- 在命令行用 sort 进行排序
- 文件遍历排序函数
- C#数据结构之顺序表(SeqList)实例详解
- 关于C#中排序函数的总结
- C#选择排序法实例分析
- C#插入法排序算法实例分析
- Lua教程(七):数据结构详解
- C#实现Datatable排序的方法
- MYSQL必知必会读书笔记第五章之排序检索数据
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- SQLSERVER的排序问题结果不是想要的
- Ruby实现插入排序算法及进阶的二路插入排序代码示例
- Windows Powershell排序和分组管道结果
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#通过IComparable实现ListT.sort()排序
- C#数据结构之单链表(LinkList)实例详解
- C#选择法排序实例分析
- SQL学习笔记四 聚合函数、排序方法
- C#对list列表进行随机排序的方法