对于这个赋值,我必须在另一个文件中编写一个选择排序函数,该文件按升序对数组进行排序,以便在我的驱动程序中使用。我已经在我的错误中搜索了这个问题,但我仍然没有找到任何我能看到的可以帮助我的东西。有人可以帮帮我吗?
这是我到目前为止所拥有的。
#include <iostream>
using namespace std;
void *selectionsort(int values[], int size){
for(int i=0; i<size-1; i++){
for(int j=0; j<size; j++){
if(values[i] < values[j]){
int temp = values[i];
values[i] = values[j];
values[j] = temp;
}
}
}
}
如果需要,我的司机在这里。
#include <stdlib.h>
#include <iostream>
#include "selection.cpp"
using namespace std;
#define ArraySize 10 //size of the array
#define Seed 1 //seed used to generate random number
int values[ArraySize];
int main(){
int i;
//seed random number generator
srand(Seed);
//Fill array with random intergers
for(i=0;i<ArraySize;i++)
values[i] = rand();
cout << "\n Array before sort" << endl;
for(i=0;i<ArraySize; i++)
cout << &values[]<< "\n";
//int* array_p = values;
cout << "\n Array after selection sort." << endl;
//Function call for selection sort in ascending order.
void *selectionsort(int values[], int size);
for (i=0;i<ArraySize; i++)
cout << &values[] << "\n";
//system("pause");
}
答案 0 :(得分:2)
您的功能无效将其更改为
void selectionsort(int values[], int size){
额外:如果你这样定义,你的函数会返回一个void指针。而void指针是一个可以指向......任何东西的指针。
当然,请参阅@ brokenfoot的答案,了解如何调用函数。
答案 1 :(得分:0)
int main()
,因此它返回一个int。因此,在main中的结束括号之前,添加return 0;
selectionsort()
函数返回,所以请将其设为无效:void selectionsort(int values[], int size)
selectionsort(values,size);