gpt4 book ai didi

c++ - 插入排序C实现

转载 作者:行者123 更新时间:2023-11-30 18:20:44 26 4
gpt4 key购买 nike

我将插入排序实现为:

void insertion_sort(int * list, int len ) {
int i, j;
for(j=1; j<len; j++) {
int key = list[j];
i = j - 1;
while(i >= 0 && list[i] > key) {
list[i + 1] = list[i];
i = i - 1;
}
list[i + 1] = key;
}
}

当我像这样调用这个函数时:

int list[] = {5, 6, 4, 3, 1, 2};
insertion_sort(list, sizeof(list)/sizeof(list[0]));

效果很好。但是当我将列表声明为:

int * list = {5, 6, 4, 3, 1, 2};

失败了。我知道我使用指针的方式存在一些问题,但是您能详细说明一下吗?谢谢!

最佳答案

没有问题,sizeof 为您提供参数的大小(以字节为单位) - 第一个是数组,因此它为您提供元素数量乘以元素大小,第二个是一个指针,所以它给你指针的大小......

关于c++ - 插入排序C实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14171195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com