C++ c++;冒泡排序紧凑指针

C++ c++;冒泡排序紧凑指针,c++,pointers,bubble-sort,C++,Pointers,Bubble Sort,我试图用紧凑的指针实现一个冒泡排序。排序似乎只对前两个进行排序,然后在尝试使用教师提供的DisplayValues驱动程序时失败 float *Sort(float *first, size_t elements) { { for (didSwap = 0, current = first, next = first + 1; current < last; ++current, ++next) { didSwa

我试图用紧凑的指针实现一个冒泡排序。排序似乎只对前两个进行排序,然后在尝试使用教师提供的DisplayValues驱动程序时失败

  float *Sort(float *first, size_t elements)
{
    {
        for (didSwap = 0, current = first, next = first + 1; current < last; ++current, ++next)
        {
                 didSwap = 1;
            }
        }
        --last;
    }
    while (didSwap);

    return first;
}
float*排序(float*第一,大小元素)
{
{
对于(didSwap=0,当前=first,next=first+1;当前
非常简单,professors例程希望数组按降序排列。您的代码在我看来是正确的,但按升序排序

顺便说一句,你的教授对
setiossflags
的工作原理有误解。应该是

cout << setiosflags(ios_base::fixed);

cout难道不应该有一个“do”来让它成为一个“do{…}while”块吗

float *Sort(float *first, size_t elements)
{
    do
    {
        for (didSwap = 0, current = first, next = first + 1; current < last; ++current, ++next)
        {
             didSwap = 1;
        }

        --last;
    }
    while (didSwap);
}
float*排序(float*第一,大小元素)
{
做
{
对于(didSwap=0,当前=first,next=first+1;当前
看起来测试和排序采用了不同的排序方向。也就是说,“紧凑指针”和“前两个”到底是什么?这个问题大部分是没有意义的。现在让我猜猜,我认为你的教授是C程序员,在他学会了他可能逃脱的最小的C++之前。我相信你的课很好,但是请不要认为你在这里学习C++。代码>--故意的?