用C对数组进行冒泡排序

维特夫
    #include <stdio.h>

int main(){

  void sorting(){

    int a[4];
  a[0]=1; 
  a[1]=6;
  a[2]=15; 
  a[3]=3;
  a[4]=19; 
  int size = 4; 

    int t =1; 
  if (size ==0) return; // ie if you reach to the end stop


  int i; 
  for (i=0;i<size-1;i++){ 

    if(a[i+1] >a[i]) { //if the +1 element is bigger than before it do the swap

         int j;
         j= a[i+1]; 
        a[i+1]=a[i]; //swap
         a[i] = j;    //swap 

       }
  }
    sorting(*a,size - 1);//recursion 

void print_int() {
  int i; // Loop counter 

  for (i = 0; i < 4; i++) {
    printf("%d\n", a[i]);
  }}

}  

它可以编译,但是当我尝试运行该文件时,什么都没有出现?我的意图是创建一个对它们进行排序然后显示的数组。

另外,如果我尝试将* a替换为a [],则递归发生的代码“ sorting(* a,size-1); //”将发生错误。这是为什么?错误是“']'标记之前的错误预期表达式”!

谢谢你。

美智

您的代码有很多问题。这是一个有效的数组排序:

#include <stdio.h>

void bubble_sort(int *array, int length){
    int i,j, k, temp;

    for (i = 0 ; i < length-1; i++){
        for (k = 0 ; k < length-i-1; k++){
          if (array[k] > array[k+1]){
            temp = array[k];
            array[k]   = array[k+1];
            array[k+1] = temp;
          }
        }
    }

    printf("The sorted Array List:\n\n");

    for ( j = 0 ; j < length ; j++ ){
        printf("%d  ", array[j]);
    }
}

int main(void){
    int array[] = {1,6,15,3,19};
    int length = sizeof array / sizeof array[0];

    bubble_sort(array, length);
    printf("\n");

    return 0;
}

您应该阅读有关函数声明和定义的信息。

关于数组,您应该知道,如果声明:

int array[4];

您的工作数组是从03而不是从04看一下以下内容:

int main(void){
    int array[] = {1,6,15,3,19};
    int size = 5;
    int i;

    for(i=0;i<size;i++){
        printf("%d ",array[i]);
    }

    return 0;
}

我有size = 5而不是size = 4-就像您尝试过的那样。您应该注意数组元素的数量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用冒泡排序对数组排序

来自分类Dev

在 Ruby 中使用冒泡排序对数组进行排序

来自分类Dev

分割错误:同时对数组进行冒泡排序

来自分类Dev

如何对数组中的对象进行冒泡排序?

来自分类Dev

用C对数据结构数组进行排序

来自分类Dev

用相应的数组对数组进行排序

来自分类Dev

用冒泡排序对十进制数组进行排序时遇到问题。C#

来自分类Dev

用最少的移动对数组进行排序

来自分类Dev

用条件对数组进行排序

来自分类Dev

用JavaScript对数组进行排序

来自分类Dev

我应该使用冒泡排序,插入排序之类的排序算法,还是应该使用c ++中的内置sort()函数对数组进行排序?

来自分类Dev

对数组C中的元素进行排序

来自分类Dev

用PHP对数组进行排序-数字排序

来自分类Dev

用预先排序的分区对数组进行排序

来自分类Dev

对数组进行冒泡排序所需的最少交换次数是多少?

来自分类Dev

如何对数组进行冒泡排序,但保留值的上下文

来自分类Dev

如何提示用户输入数字以获取数组的大小。然后使用冒泡排序方法对数组进行排序

来自分类Dev

用函数对数组进行排序而不使用 C 中的指针是行不通的。为什么?

来自分类Dev

用科学计数法对数字数组进行排序

来自分类Dev

用两个参数对数组进行排序

来自分类Dev

用awk对数组中的值进行排序

来自分类Dev

用两个值对数组进行排序

来自分类Dev

用定界符对数组列表进行排序

来自分类Dev

用Javascript对数组,变量或对象进行排序

来自分类Dev

用 2 个条件对数组进行排序

来自分类Dev

当前尝试使用冒泡排序对数组进行排序,然后获取平均值,但返回的平均值是错误的。

来自分类Dev

当前尝试使用冒泡排序对数组进行排序,然后获取平均值,但返回的平均值是错误的。

来自分类Dev

计数排序混乱。不对数组进行排序(C ++)

来自分类Dev

对整个数组进行冒泡排序

Related 相关文章

  1. 1

    用冒泡排序对数组排序

  2. 2

    在 Ruby 中使用冒泡排序对数组进行排序

  3. 3

    分割错误:同时对数组进行冒泡排序

  4. 4

    如何对数组中的对象进行冒泡排序?

  5. 5

    用C对数据结构数组进行排序

  6. 6

    用相应的数组对数组进行排序

  7. 7

    用冒泡排序对十进制数组进行排序时遇到问题。C#

  8. 8

    用最少的移动对数组进行排序

  9. 9

    用条件对数组进行排序

  10. 10

    用JavaScript对数组进行排序

  11. 11

    我应该使用冒泡排序,插入排序之类的排序算法,还是应该使用c ++中的内置sort()函数对数组进行排序?

  12. 12

    对数组C中的元素进行排序

  13. 13

    用PHP对数组进行排序-数字排序

  14. 14

    用预先排序的分区对数组进行排序

  15. 15

    对数组进行冒泡排序所需的最少交换次数是多少?

  16. 16

    如何对数组进行冒泡排序,但保留值的上下文

  17. 17

    如何提示用户输入数字以获取数组的大小。然后使用冒泡排序方法对数组进行排序

  18. 18

    用函数对数组进行排序而不使用 C 中的指针是行不通的。为什么?

  19. 19

    用科学计数法对数字数组进行排序

  20. 20

    用两个参数对数组进行排序

  21. 21

    用awk对数组中的值进行排序

  22. 22

    用两个值对数组进行排序

  23. 23

    用定界符对数组列表进行排序

  24. 24

    用Javascript对数组,变量或对象进行排序

  25. 25

    用 2 个条件对数组进行排序

  26. 26

    当前尝试使用冒泡排序对数组进行排序,然后获取平均值,但返回的平均值是错误的。

  27. 27

    当前尝试使用冒泡排序对数组进行排序,然后获取平均值,但返回的平均值是错误的。

  28. 28

    计数排序混乱。不对数组进行排序(C ++)

  29. 29

    对整个数组进行冒泡排序

热门标签

归档