gpt4 book ai didi

c - "Terminated due to time out"C 中的错误,插入排序?

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

我正在尝试使用下面的方法进行插入排序,但出现“由于超时而终止”的错误。可能是什么原因?我已经单独描述了 Print 的 prin 函数。

示例输入

6
1 4 3 5 6 2

示例输出

1 4 3 5 6 2 
1 3 4 5 6 2
1 3 4 5 6 2
1 3 4 5 6 2
1 2 3 4 5 6

程序

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <assert.h>

void prin(int ar_size,int* ar);

void insertionSort(int ar_size,int* ar) {
int i=1;
for (i;i<=ar_size;i++)
{
prin(ar_size, ar);
int j=0;
while(j<i)
{
if(*(ar+i) < *(ar+j))
{
int temp;
temp= *(ar+j);
*(ar+i)= *(ar+j);
*(ar+j)= temp;
j++;
}
}
}


}

void prin(int ar_size,int* ar)
{
int p;
printf("\n");
for(p=0; p < ar_size;p++)
{
printf("%d ",*(ar+p));
}

}

int main(void) {

int ar_size;
scanf("%d", &ar_size);
//int* _ar=(int*) calloc(_ar_size,sizeof(int)); //Tried this and below decleration but i get the same error
int _ar[ar_size], _ar_i;
for(_ar_i = 0; _ar_i < ar_size; _ar_i++) {
scanf("%d", &_ar[_ar_i]);
}

insertionSort(ar_size,_ar);

return 0;
}

最佳答案

您的jinsertionSort仅在该条件内递增。该程序很可能在 while (j<i) 内永远循环。循环。

关于c - "Terminated due to time out"C 中的错误,插入排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509605/

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