c - 运行时间或新想法

标签 c

我需要编写在“n”运行时排序的代码,但我不知道如何计算它。我需要简单地对数组进行排序,以便左侧为奇数,右侧为偶数。这是我写的,我想知道如何找到运行时间。

for (i=0;i<size-1;i++)
        {
            if(ptr[i]%2==0 || ptr[i]==0)
            {
                for (j=i;j<size;j++)
                {
                    if(ptr[j]%2!=0)
                    {
                        temp=ptr[i];
                        ptr[i]=ptr[j];
                        ptr[j]=temp;
                        break;
                    }

                }
            }
        }

提前致谢。

最佳答案

这段代码的运行时间是 O(N^2)

您可以使用计数排序在线性时间内对数组进行排序 供引用Counting Sort

关于c - 运行时间或新想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41727945/

相关文章:

c - 求数组中两个不同元素之间的最小距离

c - 得到错误的答案使用线程安全计数器

c++ - 如何从 lex/yacc 获取更多解析错误信息?

在 Win8/Ubuntu 上编译 Makefile 行为不同?

c++ - 如何获取拖入 Win32 应用程序的文件路径并将其删除?

c - 使用 fscanf : Finding a char in an input

c - 尝试通过冒泡排序对名称链接列表进行排序时出现段错误

c# - Release模式下 Console.SetOut 的问题?

c - 用C有效迁移一个linux进程

C: realloc() 没有按预期运行