程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 分類排序問題

分類排序問題

編輯:關於C語言

一個數組中有三種數,負數,零和正數,現在要求只對數組掃描一遍,即完成將數組分為三部分,負數、零和正數。嘗試寫了一下代碼。


#include <stdio.h>
#define N 9
void swap(int *p,int *q)
{
    int temp;
    temp=*p;
    *p=*q;
    *q=temp;
    return ;
}
int main()
{
    int array[N]={-1,-3,0,-2,3,2,-2,0,1};
    int *p_neg,*p,*p_pos;
    for (p_neg=&array[0],p=&array[0],p_pos=&array[N-1]; p <= p_pos; p++)
    {
        if (*p < 0)
        {
            swap(p,p_neg);
            p_neg++;
        }
        if (*p > 0)
        {
            swap(p,p_pos);
            p_pos--;
            p--;
        }
    }
    ;
}


本文出自 “天才鳥蛋” 博客,請務必保留此出處http://curely.blog.51cto.com/1627940/1297308

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved