• 查找众数


    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <time.h>
    
    char r[20001];
    
    void main()
    
    { 
        int i,n,count,k;
        int a[20001];
        void qk(int m1,int m2); // 函数声明 
        printf(" input string:");
        for(i=1;(r[i] = getchar())!='
    ';i++) ;
        r[i]='';
        n = --i;
        qk(1,n);
        k = 1;
        count = 1;
        for(i=1;r[i]!='';i++)
        printf("%c ",r[i]);
        puts("");
        for(i=1;r[i]!='';i++)
        {
            if(r[i]==r[i+1]) count++;
            else {
                a[k] = count;
                r[k] = r[i];
                k++;
                count =1;
            }
        }
        for(i=1;a[i]!=0;i++)
            printf("%c%d ",r[i],a[i]);
        a[0] = a[1];
        r[0] = r[1];
        for(i=1;a[i]!=0;i++)
        {
            if(a[0]<a[i]) {
            a[0]=a[i];
            r[0]=r[i];
            }
        }
        if(a[0]!=1) 
        printf("重数是%d,众数为%c",a[0],r[0]);
        else printf("元素个数均为1");
    }
    
    void qk(int m1,int m2) // 快速排序递归函数 
    
    { 
        int i,j;
        if(m1<m2)
        { 
            i=m1;
            j=m2;
            r[0]=r[i]; // 定义第i个数作为分区基准 
            while(i!=j)
            { 
                while(r[j]>=r[0] && j>i) // 从右至左逐个检查是否大于基准 
                j=j-1;
                if(i<j) {
                    r[i]=r[j];
                    i=i+1;
                } // 把小于基准的一个数赋给r(i) 
                while(r[i]<=r[0] && j>i) // 从左至右逐个检查是否小于基准 
                    i=i+1;
                if(i<j) {r[j]=r[i];j=j-1;} // 把大于基准的一个数赋给r(j) 
            } // 通过循环完成分区 
            r[i]=r[0]; // 分区的基准为r(i) 
            qk(m1,i-1); qk(i+1,m2); // 在两个区中继续分区 
        }
    }
  • 相关阅读:
    struts1.X的jar包
    struts2.1.6所需jar包详解
    hibernate的运行原理
    hibernate的save()方法详解
    flash的动态加载技术
    havok之内存管理
    worker中加载本地文件报错的解决方案
    行为树之我见
    havok之thread和memory system
    havok之collision detection
  • 原文地址:https://www.cnblogs.com/gride-glory/p/8001237.html
Copyright © 2020-2023  润新知