gpt4 book ai didi

c - 我必须对代码进行哪些更改才能对负数进行排序?

转载 作者:行者123 更新时间:2023-11-30 17:22:20 25 4
gpt4 key购买 nike

#include<stdio.h>   


void countingSort(int array[], int k, int n){
int i,j;
int B[100],C[1000];
for (i=0;i<=k;i++)
{
C[i]=0;
}
for (j=0;j<n;j++)
{
C[array[j]]++;
}
for (i=1;i<=k;i++)
{
C[i]+=C[i-1];
}
for (j=0;j<n;j++)
{
B[--C[array[j]]]=array[j];
}
printf("Sortiran niz je: \n");
for(i=0;i<n;i++)
{
printf("%d ", B[i]);
}
printf("\n");
}

void max(int array[], int *k,int n){
int i;
printf("Broj elemenata u nizu je %d\n",n);
for(i=0;i<n;i++)
{
if(array[i]>*k) {
*k=array[i];
}
}
}

int main(int brArg, char *arg[]){
FILE *ulaz;
ulaz=fopen(arg[1],"r");

int array[1000];
int i=0,j,k=0,n,x,m;

while(fscanf(ulaz,"%d", &array[i])!=EOF)
i++;
fclose(ulaz);
n=i;
max(array,&k,n);
countingSort(array,k,n);
return 0;
}

我的代码对于正整数非常有效,但我需要对其进行修改,以便它也可以对负整数进行排序。我希望你可以帮助我。我没有什么可说的,但除非我在这里写下一些内容,否则我无法发布问题,所以我希望这已经足够了。

最佳答案

使用链表,通用列表Glist存在于GObject库中。如果您只需要处理 32 位整数,则只需很少的额外编程即可使用它。当您从文件中读取整数时,会在 while 循环中执行插入排序。

关于c - 我必须对代码进行哪些更改才能对负数进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28053615/

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