试编写算法,设任意n个整数存放于数组A[1...n]中,将所有正数排在所有负数前面(要求:算法时间复杂度为O(n))
生活随笔
收集整理的這篇文章主要介紹了
试编写算法,设任意n个整数存放于数组A[1...n]中,将所有正数排在所有负数前面(要求:算法时间复杂度为O(n))
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include<bits/stdc++.h>
using namespace std;int main()
{int n,*a,t;cout<<"請輸入數組長度:";cin>>n;a=new int [n];cout<<"請輸入數組元素:";for(int i=0; i<n; i++) cin>>a[i];int i=0,j=n-1;while(i<j){while(i<j&&a[i]>0) i++;while(i<j&&a[j]<0) j--;if(i<j){t=a[i];a[i]=a[j];a[j]=t;i++;j--;}}for(int i=0; i<n; i++) cout<<a[i]<<" ";return 0;
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的试编写算法,设任意n个整数存放于数组A[1...n]中,将所有正数排在所有负数前面(要求:算法时间复杂度为O(n))的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何把两个内网连接成一个内网?
- 下一篇: 将编号为0和1的两个栈存放于一个数组空间