MyTetra Share
Делитесь знаниями!
Сортировка массива через указатель
Время создания: 20.01.2017 16:03
Текстовые метки: сортировка, sort
Раздел: Computer - Programming - C++ - Lessons

#include <stdio.h>


void selectionSort(int * const, const int);

void swap(int * const, int * const);


int main()

{

const int arraySize = 10;

int array[arraySize] = {2, 6, 4, 19, 7, 32, 91, 64, 5, 44};


printf("Original state os array:\n");

for(int i = 0; i < arraySize; ++i)

printf("%d, ", array[i]);

selectionSort(array, arraySize); //сортировать массив

printf("\n\nArray after sort:\n");

for(int i = 0; i < arraySize; ++i)

printf("%d, ", array[i]);

printf("\n");


return 0;

}


void selectionSort(int * const array, const int size)

{

int smallest; //индекс наименьшего элемента


//цикл до -1 элемента

for(int i = 0; i < size-1; ++i)

{

smallest = i; //первый индекс оставшегося массива

//определение индекса наименьшева элемента:

for(int index = i+1; index < size; ++index)

{

if(array[index] < array[smallest])

smallest = index;

}

swap(& array[i], & array[smallest]);

}

}


void swap(int * const elem1Ptr, int * const elem2Ptr)

{

int hold = *elem1Ptr;

*elem1Ptr = *elem2Ptr;

*elem2Ptr = hold;

}


 
MyTetra Share v.0.53
Яндекс индекс цитирования