小编Nit*_* kt的帖子

按C中元素出现频率的降序排列数组

问题是根据元素的频率对数组进行排序.例如,如果输入数组是

   { 2, 3, 2, 4, 5, 12, 2, 3, 3, 3, 12 }
Run Code Online (Sandbox Code Playgroud)

然后将数组修改为:

   { 3, 3, 3, 3, 2, 2, 2, 12, 12, 4, 5 }
Run Code Online (Sandbox Code Playgroud)

我为此编写了代码并且它正常工作,但它使用了大量空间并且具有非常高的复杂性.

我对这个解决方案和我申请的逻辑不满意.如果有人帮助优化此代码或提供更好的逻辑.

我的代码是:

#define _CRT_SECURE_NO_WARNINGS // this line to work code in visual studio
#include <stdio.h>

int main() {
    /*
     * n = number of integer
     * i = loop variable
     * j = inner loop variable
     * c = number of distinct input
     * buf = temprary storage for input value …
Run Code Online (Sandbox Code Playgroud)

c arrays sorting frequency

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

arrays ×1

c ×1

frequency ×1

sorting ×1