C-ben segítséget kérnék!? Counting sort
A következő programom van megadva és ebbe kéne a helyeket(__) kitölteni.
a Segítséget előre is köszönöm!
#include <stdio.h>
#include <stdlib.h>
void counting_sort(_____)
{
int c[21], i, result[1000];
for (i = 0; i <= 20; i++)
c[i] = ___;
for (i = 0; ___ ; ___ )
c[data[ ____ ]]++;
for (i = ___ ; i <= ___ ; i++)
c[i] = c[____] + c[____];
for (i = ___-1; _____ ; i--)
result[--c[____]] = data[i];
for (i = 0; i < __; i++)
data[_____] = result[___];
}
int main(void)
{
int cisla[1000], pocet, i;
while(scanf("%d",____ ) == ___ )
pocet++;
counting_sort(_______);
for (______)
printf(____);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void counting_sort(int data[1000], int n)
{
int c[21], i, result[1000];
for (i = 0; i <= 20; i++) {
c[i] = 0;
}
for (i = 0; i < n ; i++) {
c[data[i]]++;
}
for (i = 0 ; i <= 20 ; i++) {
c[i] = c[i] + c[i-1];
}
for (i = n-1; i >= 0; i--) {
result[--c[data[i]]] = data[i];
}
for (i = 0; i < n; i++) {
data[i] = result[i];
}
}
int main(void)
{
int cisla[1000], pocet, i;
pocet = 0;
while (scanf("%d", &cisla[pocet]) == 1 ) {
pocet++;
}
counting_sort(cisla, pocet);
for (i = 0; i < pocet; i++) {
printf("%d ", cisla[i]);
}
printf("\n");
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!