考研数据结构之数组(5.2) |
您所在的位置:网站首页 › 试编写一算法实现将一个队列中的元素逆转 › 考研数据结构之数组(5.2) |
题目
设计一个算法,将数组A[0, .... , n-1]中所有奇数移动到偶数之前,要求不另增存储空间,且时间复杂度为O(n)。 分析设置两个指针i和j, i从数组的左边往右边遍历,j从数组的右边往左边遍历,当i指向偶数,j指向奇数的时候,将A[i]与A[j]交换;当i大于等于j的时候,算法结束。 核心代码(这份代码有错): /* 分离偶数与奇数,将奇数放到数组的前端,偶数放到后端 */ /* A[]指的是要分离的数组;n指的是数组元素的长度 */ void divide(int A[],int n) { int i=0;// i指向数组的第一个元素 int j=n-1;// j指向数组最后一个元素 int temp;// 作为临时存储变量 while(i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |