问题是根据元素的频率对数组进行排序.例如,如果输入数组是
{ 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)