zoukankan      html  css  js  c++  java
  • 顺序表元素分块(左负右正中间零)

    #include <stdio.h>
    void partSort(int arr[],int l,int r)
    {
        int p=l,i=l,t,cnt=0;
        printf("
    负数调在前
    ");
        for(;i<=r;i++)
        {
            if(arr[i]<0)
            {
                t=arr[i];arr[i]=arr[p];arr[p]=t;
                p++;
            }
        } //p停止在第一个非负数上面;
        
        for(i=l;i<=r;i++)
            printf("%6d",arr[i]);
        printf("
    ");
        while(arr[p]==0)//过滤掉零
            p++;
        printf("把零调在正数前
    ");
        for(i=r;i>=p;i--)
            if(arr[i]==0)
            {    
                t=arr[i];arr[i]=arr[p];arr[p]=t; 
                while(arr[p]==0)//过滤掉零
                    p++;
                cnt++;
            }
        for(i=l;i<=r;i++)
            printf("%6d",arr[i]);
        printf("
    ");
     
    }
    void main()
    {
        int arr[]={3,-1,2,0,-3,8,9,-4,0,2};
        printf("原始数据
    ");
        for(int i=0;i<=9;i++)
            printf("%6d",arr[i]);
        partSort(arr,0,9);
    }
  • 相关阅读:
    IBinder介绍
    Android组成部分
    Android中handler,looper与messageQueue的代码解析
    JS
    设计模式
    冒泡排序
    战斗逻辑
    mongo数据库基础
    JS闭包
    c/c++
  • 原文地址:https://www.cnblogs.com/ewitt/p/10038794.html
Copyright © 2011-2022 走看看