Sırası hesaplananı yeni diziye yaz. Bir diziyi sayarken elemanları anlık olarak değiştiriyorsun. Arada sapıtıyor.
Benim gördüğüm bu.
24 ve 25. satırdaki b'leri a yapıp diğer türlüsünü de görebilirsin.
[CODE highlight="24, 25"]#include<stdio.h>
#define MAX 6
void printarr(int* a, int size) {
for(int i = 0; i < size; ++i) {
printf("%d ", a);
}
printf("\n");
}
void linearSortWithCounting(int* a, int* b, int size) {
int count = 0;
for(int i = 0; i < size; ++i) {
count = 0;
for(int j = 0; j < size; ++j) {
if(a > a[j]) {
++count;
}
}
b[count] = a;
printarr(b, MAX);
}
}
int main() {
int a[MAX] = { 0, 4, 2, 1, 6, 15 };
int b[MAX] = { 0 };
linearSortWithCounting(a, b, MAX);
printarr(b, MAX);
return 0;
}
[/CODE]
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.