gpt4 book ai didi

c - C 中的冒泡排序算法

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

我试图完成的程序是一个使用冒泡排序算法的程序。我不确定问题是什么或问题出在哪个函数中。问题是程序没有正确对数组进行排序。 (也必须按升序排列)。

这是代码:

#include <stdio.h>
#include "simpio.h"

void getArray (int arr[], int size);
void sortArray (int arr[], int size);
void swap (int arr[], int num, int number);
void dispArray (int arr[], int size);
bool checkBigger (int arr[], int num, int number);

main()
{
int size;

printf("Enter number of elements: ");
size=GetInteger();

int arr[size];
getArray(arr, size);
sortArray(arr, size);
dispArray(arr, size);

getchar();
}

void getArray (int arr[], int size)
{
int num;

printf("Please enter the value of the elements: \n");
for(num=0; num<size; num++)
{
arr[num]=GetInteger();
}
}

void sortArray (int arr[], int size)
{
int num, number, d;

for(num=0;num<size-1;num++)
{
for(d=0; d<size-num-1; d++)
{
number=num+1;
checkBigger(arr, num, number);
}
}
}

void swap (int arr[], int num, int number)
{
int tem;

tem=arr[num];
arr[num]=arr[number];
arr[number]=tem;
}

void dispArray (int arr[], int size)
{
int num;

printf("The sorted list is:\n");
for(num=0; num<size; num++)
{
printf("%d\t", arr[num]);
}
}

bool checkBigger (int arr[], int num, int number)
{
if(arr[num]>arr[number])
{
swap(arr, num, number);
}
}

非常感谢。

最佳答案

void sortArray (int arr[], int size)
{
int num, number, d;

for(num=0;num<size-1;num++)
{
for(d=0; d<size-num-1; d++)
{
number=d+1;
checkBigger(arr, d, number);
}
}
}

关于c - C 中的冒泡排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17655748/

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