对数组排序,要求相对位置不变

来源:互联网 发布:手机qq视频录制软件 编辑:程序博客网 时间:2024/06/05 13:36
//题目:给定含有n个元素的数组a,其中包括0元素和非零元素,对数组排序,要求://排序后所有0元素在前,所有非零元素在后,且非零元素排序前后相对位置不变,不能使用额外的存储空间。#include<iostream>using namespace std;void Partition(int a[],int low,int high)//一次快速排序{int i = high+1;for(int j = high;j>=low;--j){if(a[j]!=0){--i;          swap(a[i],a[j]);}}}void main(){int a[7] = {0,3,0,2,1,0,0};Partition(a, 0, 6);for(int i = 0;i<7;++i)          cout<<a[i]<<' ';      cout<<endl; }

0 0
原创粉丝点击