小编use*_*667的帖子

什么是alloc.h?

是什么alloc.h?关于SO的一些问题就像这样,包括alloc.h.

但是,当我试图把它列入GCC给出错误error: alloc.h: No such file or directory

这样的文件曾经存在过,或者这些问题只是错误地包含了它?

c header-files

8
推荐指数
2
解决办法
3万
查看次数

该方法如何计算二进制表示中的1的数量?

可能重复:
n&(n-1)这个表达式做什么?

考虑以下算法:

int count(int num)
{
  int ones = 0;
  while(num)
  {
    ++ones; 
    num &= num - 1;
  }

  return ones;
}
Run Code Online (Sandbox Code Playgroud)

有什么意义num & (num-1)?它是如何工作的?

c algorithm bit-manipulation

6
推荐指数
2
解决办法
372
查看次数

计算插入排序中的交换数量

这里给出的问题,我必须计算总数.使用插入排序对数组进行排序时所需的交换.
这是我的方法

#include <stdio.h>
int main()
{
    int t, N, swaps, temp, i, j;
    scanf("%d", &t);

    while(t--){
        scanf("%d", &N);

        int arr[N];
        swaps = 0;

        for(i=0; i<N; ++i){

            scanf("%d", &temp);

            j=i;
            while(j>0 && arr[j-1] > temp){
                arr[j] = arr[j-1];
                ++swaps;
                --j;
            }

            arr[j] = temp;
        }
        printf("%d\n", swaps);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,这个soln超出了时间限制.

我怎样才能让它更快?
而且,这个问题的其他更好的解决方案是什么?

c algorithm optimization swap insertion-sort

1
推荐指数
1
解决办法
8776
查看次数