Add solution with hard coded array content.
This commit is contained in:
parent
d2bc927914
commit
7f6b5f2e93
@ -34,9 +34,71 @@
|
|||||||
|
|
||||||
#define MAX_ZAHLEN 100
|
#define MAX_ZAHLEN 100
|
||||||
|
|
||||||
|
void selectionsort(int array[], unsigned int len);
|
||||||
|
unsigned int findeMaxIdx(int array[], unsigned int len);
|
||||||
|
void tausche(int *elem1, int *elem2);
|
||||||
|
void zeigeArray(int array[], unsigned int len);
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
int zahlen[MAX_ZAHLEN] = {10, 5, 3, -1, 0, 2};
|
||||||
|
unsigned int len = sizeof(zahlen) / sizeof(zahlen[0]);
|
||||||
|
unsigned int benutzteLaenge = 6;
|
||||||
|
|
||||||
|
zeigeArray(zahlen, benutzteLaenge);
|
||||||
|
|
||||||
|
selectionsort(zahlen, benutzteLaenge);
|
||||||
|
|
||||||
|
zeigeArray(zahlen, benutzteLaenge);
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void zeigeArray(int array[], unsigned int len)
|
||||||
|
{
|
||||||
|
for(int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
printf("%3d ", array[i]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int findeMaxIdx(int array[], unsigned int len)
|
||||||
|
{
|
||||||
|
unsigned int maxIdx = 0;
|
||||||
|
|
||||||
|
for(int i = 1; i < len; i++)
|
||||||
|
{
|
||||||
|
if(array[i] > array[maxIdx])
|
||||||
|
{
|
||||||
|
maxIdx = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return maxIdx;
|
||||||
|
}
|
||||||
|
|
||||||
|
void selectionsort(int array[], unsigned int len)
|
||||||
|
{
|
||||||
|
for(int unsortierteLaenge = len; unsortierteLaenge >= 2; unsortierteLaenge--)
|
||||||
|
{
|
||||||
|
unsigned int maxIdx = findeMaxIdx(array, unsortierteLaenge);
|
||||||
|
|
||||||
|
tausche(&array[maxIdx], &array[unsortierteLaenge-1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*void tausche(int array[], unsigned int idx1, unsigned int idx2)
|
||||||
|
{
|
||||||
|
int tmp = array[idx1];
|
||||||
|
array[idx1] = array[idx2];
|
||||||
|
array[idx2] = tmp;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
void tausche(int *elem1, int *elem2)
|
||||||
|
{
|
||||||
|
int tmp = *elem1;
|
||||||
|
*elem1 = *elem2;
|
||||||
|
*elem2 = tmp;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user