【问题标题】:How to Bubblesort using pointer?如何使用指针冒泡排序?
【发布时间】:2015-03-29 22:00:27
【问题描述】:

我正在尝试用指针澄清我的概念。所以我喜欢用指针做BubbleSort。我创建的代码在函数调用中有错误。我找不到它。有人可以帮我吗?

#include <iostream>
#include <iomanip>
using namespace std;
void bubbleSort(int*, const int);
void swap(int*, int*);
int main(){
const int arraySize = 5;
int array[arraySize] = { 21, 56, 19, 77, 43 };

for (int i=0; i < 5; i++){
    cout << array[i] << " ";

}
bubbleSort(array, arraySize);
for (int i=0; i < 5; i++){
    cout << array[i] << " ";


    return 0;
}


void bubbleSort(int *arr, const int s)
{
    for (int i = 0; i < s-1; i++)
    {
        for (int j = 0; j < s-1; j++)
            if (arr[j]>arr[j + 1])
                swap(&arr[j], &arr[j + 1]);


    }
}
void swap(int *a, int *b){
    int hold;
    hold = *a;
    *a = *b;
    *b = hold;
}

【问题讨论】:

  • 你得到的编译器错误告诉你你忘记了}来结束你的main()函数。这就是逻辑缩进代码很常见的原因。
  • 好的,谢谢。现在它正在运行但没有所需的输出。它只是给出未排列的数组
  • 它确实提供了所需的输出。 ideone.com/2FxOYa
  • 如果这应该是使用指针的冒泡排序,您可以使用 *(arr+j) 代替 arr[j],使用 arr+j 代替 &(arr[j])。跨度>

标签: c++ bubble-sort


【解决方案1】:

你在 main 的末尾少了一个 }

【讨论】:

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
  • 那是他的错误的原因,他现在有另一个错误:)
猜你喜欢
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
相关资源
最近更新 更多