Eszközök a webhelyen


oktatas:programozás:c:láncolt_lista

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:programozás:c:láncolt_lista [2017/10/02 20:29] (aktuális)
Sor 1: Sor 1:
 +[[oktatas:​programozás:​c|<​ C nyelv]]
  
 +====== Láncolt lista C nyelven ======
 +
 +
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2011, 2014
 +  * Licenc: GNU Free Documentation License 1.3
 +  * Web: http://​szit.hu
 +===== Példa =====
 +
 +
 +<code c lancoltlista.c>​
 +/*
 +  Sallai András (c) 2002.
 +*/
 +
 +#include <​stdio.h>​
 +#include <​stdlib.h>​
 +#include <​string.h>​
 +
 +struct tmutato {
 +    char *adat;
 +    struct tmutato *kovetkezo;
 +    };
 +
 +main()
 +{
 +    struct tmutato *elso, *aktualis, *uj;
 +    char *szam;
 +    ​
 +    elso = NULL;
 +    ​
 +    printf("​Írj be szöveget 0 végjelig: \n");
 +    ​
 +    szam = (char *) malloc(30 * sizeof(char));​
 +    scanf("​%s",​ szam);
 +    ​
 +    while(!(strchr(szam,​ '​0'​)))
 +    {
 + uj = (struct tmutato *) malloc(sizeof(struct tmutato));
 + uj->​adat = (char *) malloc(30 * sizeof(char));​
 + strcpy(uj->​adat,​ szam);
 + uj->​kovetkezo = NULL;
 +
 + if(elso == NULL) elso = uj;
 + else aktualis->​kovetkezo = uj;
 + aktualis = uj;
 + scanf("​%s",​ szam);
 +    }
 +    ​
 +    aktualis = elso;
 +    ​
 +    while(aktualis != NULL)
 +    {
 + printf("​Adat:​ %s\n", aktualis->​adat);​
 + aktualis = aktualis->​kovetkezo;​
 +    }
 +}
 +
 +</​code>​
 +
 +
 +===== Láncolt lista függvényekkel =====
 +
 +<code c lancoltLista.c>​
 +#include <​stdio.h>​
 +#include <​stdlib.h>​
 +
 +struct elem {
 + int adat;
 + struct elem *kovetkezo;
 +};
 +
 +typedef struct elem t_elem;
 +
 +t_elem * beker() {
 + t_elem *elso, *aktualis, *uj;
 + int szam = 0;
 + do {
 + printf("​Szam:​ ");
 + scanf("​%d",​ &szam);
 +
 + if(szam != 0) {
 + uj = (t_elem *) malloc(sizeof(t_elem));​
 + uj->​adat = szam;
 + uj->​kovetkezo = NULL;
 +
 + if(elso == NULL) elso = uj;
 + else aktualis->​kovetkezo = uj;
 + aktualis = uj;
 + }
 + }while(szam != 0);
 + aktualis = elso;
 + return aktualis;
 +}
 +
 +
 +void kiir(t_elem *aktualis) {
 + while(aktualis != NULL) {
 + printf("​Elemek:​ %d\n", aktualis->​adat);​
 + aktualis = aktualis->​kovetkezo;​
 + }
 +}
 +
 +int main(int argc, char **argv) {
 + t_elem *aktualis = beker();
 + kiir(aktualis);​
 + return 0;
 +}
 +
 +</​code>​
oktatas/programozás/c/láncolt_lista.txt · Utolsó módosítás: 2017/10/02 20:29 (külső szerkesztés)