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

trehugger2000

我在使用此功能时遇到了一些问题。它的主要目的是按节的数量对降序排列的类数组(下)进行排序。这是类的数组:

CIS_CLASSES *pCls, *pLast;
CIS_CLASSES  clsList[NUM_CLS] =
{
    {"CIS 35A", 2, {61, 63}},
    {"CIS 35B", 1, {62}},
    {"CIS 41A", 3, {1, 2, 61}},
    {"CIS 28",  1, {61}},
    {"CIS 22C", 4, {3, 4, 61, 63}},
    {"CIS 26B", 1, {61}},
    {"CIS 22B", 8, {1, 2, 3, 4, 6, 61, 62, 63}},
    {"CIS 29",  1, {61}},
    {"CIS 22A", 8, {1, 3, 5, 6, 7, 8, 61, 63}},
};

我还使用struct定义了NUM_CLS:

#define NUM_CLS 9

typedef struct
{
    char  course[10];
    int   noSections;
    int   sections[16];
    int final;
} CIS_CLASSES;`

这是函数:

void sortDescend(CIS_CLASSES  list[], CIS_CLASSES *pLast);
{
    CIS_CLASSES *pCurr;
    CIS_CLASSES *pWalk;

    for (pCurr = list- 1; pCurr < pLast; pCurr++)
    {
        CIS_CLASSES temp = *pCurr;
        pWalk = pCurr - 1;
        while (pWalk >= 0 && temp.final > pLast->list[pWalk].final)
        {
            pLast->list[pWalk + 1] = pLast->list[pWalk];
            pWalk--;
        }
        pLast->list[pWalk + 1] = temp;
    }
  }
}

当我尝试运行此代码时,出现错误消息:'CIS_CLASSES'中没有名为'list'的成员。但是我不明白为什么?以及如何使其运行?如果我有任何遗漏,请告诉我!

很高兴见到你

请尝试执行以下操作。

void sortDescend(CIS_CLASSES  pInput[], CIS_CLASSES **pOutput);
{
    // pOutput should be declared in your main function as the following
    // CIS_CLASSES **pOutput = (CIS_CLASSES **)malloc(NUM_CLS * sizeof(PVOID));

    // copy pointer arrays of CIS_CLASSES list elements
    for(int i=0; i<NUM_CLS; i++)
    {
        pOutput[i] = &pInput[i];
    }

    // bubble sort
    for (int i=0; i<NUM_CLS-1, i++)
    {
        for (int j=i+1; j<NUM_CLS; j++)
        {
            CIS_CLASSES temp = *pCurr;
            if(pOutput[i]->noSection < pOutput[j]->noSection)
            {
                pCurr = pOutput[i];
                pOutput[i] = pOutput[j];
                pOutput[j] = pCurr;
            }
        }
    }
    // You can access the descending sorted list item like pOutput[index]->course, ... 
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用指针对用户定义对象的C ++数组进行排序?

来自分类Dev

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

来自分类Dev

使用指针对数组进行排序,并且不包含任何索引变量

来自分类Dev

将数组的指针传递给对数字进行排序的函数

来自分类Dev

用指针对c中的数组进行排序

来自分类Dev

在C中使用指针对结构进行冒泡排序

来自分类Dev

使用全局数组而不是指针对数组进行传递,以从Function传输字符串

来自分类Dev

根据比较函数对数组进行排序 C++

来自分类Dev

对数组进行排序 - 传递比较函数

来自分类Dev

c#使用IComparable接口对数组进行排序

来自分类Dev

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

来自分类Dev

使用指针对2D数组进行插入排序

来自分类Dev

使用指针对二维数组中的一行中的元素进行排序

来自分类Dev

对数组指针进行排序后释放内存时出错

来自分类Dev

用C对数组进行冒泡排序

来自分类Dev

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

来自分类Dev

Swift:使用NSRange对数组进行排序

来自分类Dev

使用HTML标签对数组进行排序

来自分类Dev

使用模板对数组进行排序

来自分类Dev

如何使用PHP对数组进行排序

来自分类Dev

Python:使用NaN对数组进行排序

来自分类Dev

使用HTML标签对数组进行排序

来自分类Dev

使用中位数对数组进行排序

来自分类Dev

使用javascript对数组表进行排序

来自分类Dev

使用 compareTo 方法对数组进行排序

来自分类Dev

使用 Powershell 对数组值进行排序

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    使用指针对用户定义对象的C ++数组进行排序?

  5. 5

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

  6. 6

    使用指针对数组进行排序,并且不包含任何索引变量

  7. 7

    将数组的指针传递给对数字进行排序的函数

  8. 8

    用指针对c中的数组进行排序

  9. 9

    在C中使用指针对结构进行冒泡排序

  10. 10

    使用全局数组而不是指针对数组进行传递,以从Function传输字符串

  11. 11

    根据比较函数对数组进行排序 C++

  12. 12

    对数组进行排序 - 传递比较函数

  13. 13

    c#使用IComparable接口对数组进行排序

  14. 14

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

  15. 15

    使用指针对2D数组进行插入排序

  16. 16

    使用指针对二维数组中的一行中的元素进行排序

  17. 17

    对数组指针进行排序后释放内存时出错

  18. 18

    用C对数组进行冒泡排序

  19. 19

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

  20. 20

    Swift:使用NSRange对数组进行排序

  21. 21

    使用HTML标签对数组进行排序

  22. 22

    使用模板对数组进行排序

  23. 23

    如何使用PHP对数组进行排序

  24. 24

    Python:使用NaN对数组进行排序

  25. 25

    使用HTML标签对数组进行排序

  26. 26

    使用中位数对数组进行排序

  27. 27

    使用javascript对数组表进行排序

  28. 28

    使用 compareTo 方法对数组进行排序

  29. 29

    使用 Powershell 对数组值进行排序

热门标签

归档