使用C中的指针按升序对数组进行排序

用户10587042

我正在编写一个程序,该程序创建一个从 1 到 100 的随机数数组,并按升序对它们进行排序。下面是执行此操作的工作代码,但我需要对其进行修改,以便“交换”函数使用指针。对交换函数的调用应如下所示: swap(???,???) 其中两个输入是指针。实现这一目标的最佳方法是什么?

    #include<stdio.h>
    #include<math.h> 

    int main()
    {
       void fillArray(int sizeArray, int array[sizeArray]);
       void printArray(int sizeArray, int array[sizeArray]);
       void sortArray(int sizeArray, int array[sizeArray]);

       int sizeArray;

       printf("\nSize of the array? ");
       scanf("%d", &sizeArray);

       int array[sizeArray];

       fillArray(sizeArray,array);
       sortArray(sizeArray, array);
       printArray(sizeArray, array);
    }

    void fillArray(int sizeArray, int array[sizeArray])
    {
       int increment;

       for(increment=0; increment<sizeArray; increment++)
       {
          array[increment]=rand()%101;
       }
    }

    void sortArray(int sizeArray, int array[sizeArray])
    {
       void swap(int increment2, int increment, int array[]);
       int increment, increment2, temp;

       for (increment=0; increment < sizeArray ; increment++)
       {
          for (increment2=increment+1; increment2 < sizeArray; increment2++)
          {   
             swap(increment2, increment, array);
          }
       }
    }

    void swap(int increment2, int increment, int array[])
    {
       int temp;
       if (array[increment2] < array[increment])
             {
                temp=array[increment];
                array[increment]=array[increment2];
                array[increment2]=temp;
             }
    }

    void printArray(int sizeArray, int array[sizeArray])
    {
       int increment=0;

       printf("\nHere's the sorted array:\n");

       while(increment<21)
       {
          printf("\n    array[%d] is %d", increment, array[increment]);
          increment++;
       }
    }

输出应如下所示:output

isydmr

定义你的swap函数如下:

void swap(int *increment2, int* increment)

修改您调用交换函数的 for 循环:

for (increment=0; increment < sizeArray ; increment++)
{
      for (increment2=increment+1; increment2 < sizeArray; increment2++)
      {   
         swap(array[increment2], array[increment]);
      }
}

然后,修改您的交换功能:

void swap(int *increment2, int* increment)
{
       int temp;
       if (increment2 < increment)
       {
            temp= *increment2;
            *increment2=*increment;
            *increment2=temp;
       }

}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++在文本文件中按升序对数字进行排序

来自分类Dev

按名称对数组中的数组进行排序

来自分类Dev

按日期和时间升序对数组进行排序

来自分类Dev

在C中按升序对链表进行排序

来自分类Dev

以升序对数组进行排序,并删除Objective-C中的重复值

来自分类Dev

在Javascript中按日期对数组进行排序

来自分类Dev

使用排序功能按NSDates对数组进行排序

来自分类Dev

Javascript在Oracle中按顺序对数组进行排序

来自分类Dev

以升序对数组的元素进行排序

来自分类Dev

使用javascript中的sortBy按值对哈希升序进行排序

来自分类Dev

如何按升序对数值的浮动列表进行排序?

来自分类Dev

如何从PHP中的Key按升序对数组进行排序?

来自分类Dev

按值对数组中的数组进行排序

来自分类Dev

在python中按行对数组进行排序

来自分类Dev

按日期对数组中的对象进行排序

来自分类Dev

使用指针对数组进行排序-C编程

来自分类Dev

按数字字段按降序或升序对数组Angular 7进行排序

来自分类Dev

C编程:使用指针对数组进行排序的函数

来自分类Dev

以升序对数组进行排序-React JS

来自分类Dev

在结构中按频率对数组中的字母进行排序

来自分类Dev

按子数组中的值对数组进行排序

来自分类Dev

VB-如何按升序或降序对数据库中的结果进行排序

来自分类Dev

按子数组中的值对数组进行排序

来自分类Dev

按日期和时间升序对数组进行排序

来自分类Dev

以升序对数组进行排序

来自分类Dev

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

来自分类Dev

如何让我的快速排序算法按升序和降序对数组进行排序?

来自分类Dev

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

来自分类Dev

使用快速排序使用指针对数组进行排序

Related 相关文章

  1. 1

    C ++在文本文件中按升序对数字进行排序

  2. 2

    按名称对数组中的数组进行排序

  3. 3

    按日期和时间升序对数组进行排序

  4. 4

    在C中按升序对链表进行排序

  5. 5

    以升序对数组进行排序,并删除Objective-C中的重复值

  6. 6

    在Javascript中按日期对数组进行排序

  7. 7

    使用排序功能按NSDates对数组进行排序

  8. 8

    Javascript在Oracle中按顺序对数组进行排序

  9. 9

    以升序对数组的元素进行排序

  10. 10

    使用javascript中的sortBy按值对哈希升序进行排序

  11. 11

    如何按升序对数值的浮动列表进行排序?

  12. 12

    如何从PHP中的Key按升序对数组进行排序?

  13. 13

    按值对数组中的数组进行排序

  14. 14

    在python中按行对数组进行排序

  15. 15

    按日期对数组中的对象进行排序

  16. 16

    使用指针对数组进行排序-C编程

  17. 17

    按数字字段按降序或升序对数组Angular 7进行排序

  18. 18

    C编程:使用指针对数组进行排序的函数

  19. 19

    以升序对数组进行排序-React JS

  20. 20

    在结构中按频率对数组中的字母进行排序

  21. 21

    按子数组中的值对数组进行排序

  22. 22

    VB-如何按升序或降序对数据库中的结果进行排序

  23. 23

    按子数组中的值对数组进行排序

  24. 24

    按日期和时间升序对数组进行排序

  25. 25

    以升序对数组进行排序

  26. 26

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

  27. 27

    如何让我的快速排序算法按升序和降序对数组进行排序?

  28. 28

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

  29. 29

    使用快速排序使用指针对数组进行排序

热门标签

归档