Latihan #1
Pelajaran 10 dari 14 dalam kursus Linked List, Seri Struktur Data #5 di Coddy.
Tantangan
MudahBuat fungsi reverseList yang menerima array bilangan bulat arr dan mengembalikan array yang dibalik urutannya.
Gunakan linked list untuk menyelesaikan masalah ini! Tambahkan setiap nilai di bagian depan list, lalu baca nilai-nilainya.
Kamu harus menggunakan class LinkedList (disediakan dalam linkedlist.<ext> bersama node.<ext>) — jangan gunakan fitur bawaan bahasa, seperti fungsi reverse bawaan array, slicing, atau operasi list dari pustaka standar untuk menghitung hasilnya.
Coba sendiri
#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;
}
Semua pelajaran di Linked List, Seri Struktur Data #5
Latihan sendiri: Compiler C online