I want to run a selection sort script in Python written in C using myModule, I want to input the array A[] and length of array N and return the array when calling it in python, here is my code, what should I write for static PyObject* and belowpart? #include #include void swap(int *xp, int *yp) { int temp = *xp; *xp = *yp; *yp = temp;
I want to run a selection sort script in Python written in C using myModule, I want to input the array A[] and length of array N and return the array when calling it in python, here is my code, what should I write for static PyObject* and belowpart?
#include <Python.h>
#include <stdio.h>
void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int arr[], int n)
{
int i, j, min_idx;
// One by one move boundary of unsorted subarray
for (i = 0; i < n-1; i++)
{
// Find the minimum element in unsorted array
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
// Swap the found minimum element with the first element
swap(&arr[min_idx], &arr[i]);
}
}
static PyObject* fib(PyObject* self, PyObject* args)
{
int n;
if(!PyArg_ParseTuple(args, "i", &n))
return NULL;
return Py_BuildValue(a[]);
}
static PyMethodDef myMethods[] = {
{ "sort", sort, METH_VARARGS, "selectionsort" },
{ NULL, NULL, 0, NULL }
};
static struct PyModuleDef myModule = {
PyModuleDef_HEAD_INIT,
"myModule",
"Test Module",
-1,
myMethods
};
PyMODINIT_FUNC PyInit_myModule(void)
{
return PyModule_Create(&myModule);
}
Step by step
Solved in 2 steps with 1 images