Practice #1
Coddy'nin Bağlı Liste - Veri Yapıları Serisi #5 kursunda ders 10 / 14.
Görev
KolayBir tamsayı dizisi arr alan ve bu dizinin ters çevrilmiş halini döndüren bir reverseList fonksiyonu yazın.
Bu problemi çözmek için bir bağlı liste (linked list) kullanın! Her bir değeri listenin başına ekleyin, ardından değerleri sırayla okuyun.
LinkedList sınıfını kullanmalısınız (node.<ext> ile birlikte linkedlist.<ext> dosyasında sağlanmıştır) — sonucu hesaplamak için dizilerin yerleşik ters çevirme (reverse), dilimleme (slicing) veya standart kütüphane (stdlib) liste işlemleri gibi dile özgü yerleşik özellikleri kullanmayın.
Kendin dene
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"
int main() {
char line[8192];
if (!fgets(line, sizeof(line), stdin)) line[0] = '\0';
int arr[4096];
int len = 0;
char* tok = strtok(line, " \t\r\n");
while (tok) { arr[len++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
int rs = 0;
int* r = reverseList(arr, len, &rs);
for (int idx = 0; idx < rs; idx++) {
if (idx > 0) printf(" ");
printf("%d", r[idx]);
}
printf("\n");
return 0;
}