• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Lista dwukierunkowa dodawanie, sortowanie tworzenie [ankieta]

Object Storage Arubacloud
0 głosów
1,567 wizyt
pytanie zadane 2 kwietnia 2017 w C i C++ przez chacken Użytkownik (820 p.)

Prowadzący zadał jednak inne zadanie niż te co tworzyłem wcześniej... jeszcze cięższe jak dla mnie. Mianowicie lista dwukierunkowa i operacje na niej wszystkie.... nawet na wykładach tego nie mieliśmy... ale go to nei obchodzi.

Znalazłem coś na necie: 

 

//Struktura z danymi studenta
typedef struct DANE
{
	char* imie;
	char* nazwisko;
}Dane;
 
//Struktura z listą dwukierunkową
typedef struct STUDENT Student;
struct STUDENT
{
	Dane dane;
	Student* next;
	Student* prev;
};     

Nastepnie funkcja tworzaca:

 

Student* stworz_element()
{
	Student *element;
	char bufor[30 + 1];
	char *imie, *nazwisko;
 
	system("cls");
	printf("Imie: ");
	gets(bufor);
	imie = (char*)malloc(sizeof(char)* (strlen(bufor) + 1));
	strcpy(imie, bufor);
 
	printf("Nazwisko: ");
	gets(bufor);
	nazwisko = (char*)malloc(sizeof(char)* (strlen(bufor) + 1));
	strcpy(nazwisko, bufor);
 
	element = (Student*)malloc(sizeof(Student));
	element->next = NULL;
	element->prev = NULL;
	element->dane.imie = imie;
	element->dane.nazwisko = nazwisko;
 
	return element;
}

I teraz jak w mainie chcę skorzystać z funkcji stworz element to dostaję błąd conflicting types a robię to tak:
 

Student *dane;

        dane = stworz_element();



i to nie działa! Jak to zrobić żeby ten element się stworzył...

Następną częśc kodu mam dodawanie elementu na koniec listy:

 

void dodaj_na_koniec(Student **head)
{
	Student *pom, *tmp = stworz_element();
 
	if (*head == NULL)
		*head = tmp;
	else
	{
		pom = *head;
		while (pom->next != NULL)
			pom = pom->next;
		tmp->prev = pom;
		pom->next = tmp;
	}
}

Nie ogarniam tego kompletnie... nie wiem jak prowadzacy może zrobić coś czego nei było, uwalić wszystkich chce 

Pomóżcie proszę ;/

Brak odpowiedzi!

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia 2017 przez mbabane Szeryf (79,280 p.)

Czesc, tutaj powinienes znalezc odpowiedzi na nurtujace Cie pytania z zakresu podstaw list dwukierunkowych (lacznie z implementacja).

http://eduinf.waw.pl/inf/alg/001_search/0087.php

 

Ponad to wpisz w google lista dwukierunkowa, a dostaniesz bardzo duzo podobnych materialow.

Podobne pytania

0 głosów
2 odpowiedzi 618 wizyt
pytanie zadane 6 stycznia 2017 w C i C++ przez bllackbirrd Nowicjusz (150 p.)
0 głosów
1 odpowiedź 267 wizyt
0 głosów
1 odpowiedź 336 wizyt

92,563 zapytań

141,415 odpowiedzi

319,593 komentarzy

61,948 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...