输入n个整形数输入10个整型数据,存入数组a中中,输入以负数结束

说一下通常意义的算法:设置两個索引(如i和j)分别从数组的起始和终止处开始遍历索引i正向遍历,索引j反向遍历;每次遍历中对于索引i,找到第一个正数则停止對于索引j,找到第一个负数则停止然后交换当前的a[i]和a[j],接下来i++j--,重复遍历过程直到i和j相等为止

需要说明的是,上述算法一般需要3个輔助空间分别是i、j和用于元素交换的临时变量,不过非要求1个辅助空间也并非不可能实现

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

c++题目一道求大神解答
1.对于一个有正数和负数的数组将其中所有小于0的元素放到所有大于0的元素的前面。使用的算法是:从左右两个方向扫描数组从左向右找到大于等于0的元素,从右向左找到小于0的元素将两鍺交换。依此类推直到扫描完为止。试建立一个类ARR完成上述工作。具体要求如下:
(1) 私有数据成员
? int n:数组实际元素个数。
? int a[100]:初始时存放原始数组最终存放交换后的数组。
(2) 公有成员函数
? void change( ):使用以上算法,完成调换数组元素的工作
(3) 在主函数中完成對该类的测试。定义一个整型数组int b[10]其初值是{1,-3,-1,3,2,4,-4,5,-5,-2},定义一个ARR类的对象v用b数组及其元素个数初始化该对象,先输出原始数组的值然后交换數组元素的值,最后输出交换后的结果

拍照搜题,秒出答案一键查看所有搜题记录

我要回帖

更多关于 输入10个整型数据,存入数组a中 的文章

 

随机推荐