matematykaszkolna.pl
Pewna struktura danych , sprawdzanie dostępnej pamięci Mariusz: #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> struct Node { int data; struct Node* next; }; int isEmpty(struct Node*); void push(struct Node**,int); int pop(struct Node**); int main() { int k; int val; struct Node * head; head=NULL; srand(time(NULL)); for(k=1; k<=24; k++) { val=rand()%100; push(&head,val); } while(!isEmpty(head)) { printf("%d \n",pop(&head)); } while(!kbhit()) { } } int isEmpty(struct Node* head) { return (head==NULL); } void push(struct Node** head,int n) { struct Node* newNode; newNode=(struct Node*)malloc(sizeof(struct Node)); newNode−>data=n; newNode−>next=(*head) ; (*head)=newNode; } int pop(struct Node** head) { int val; struct Node* temp; if(!isEmpty(*head)) { temp=(*head); val=temp−>data; (*head)=(*head)−>next; free(temp); return val; } else { printf("Struktura jest pusta\n"); return; } } Jaka to struktura i jak dodać sprawdzanie czy mamy wystarczająco pamięci na węzeł
15 mar 18:53
jc: Czytaj dokumentcję. Funkcja malloc zwraca NULL, jesli nie może przydzielić pamięci. Opisana struktura to zapene stos (o ile kod jest poprawny). P.S. Przekazany przeze mnie poprzedniej nocy kod jest poprawny. Wywołujemy go pisząc sortuj(tablica, tablica + rozmiar, tablica pomocnicza) Tablica pomocnicza powinna mieć rozmiar = połowa rozmiaru sortowanej tablicy (sortuj) lub rozmiar = rozmiar sortowanej tablicy (sortuj2) Można to pewnie poprawić, ale nie będę tego robił.
15 mar 19:20
Mariusz: Korzystam z Windowsa więc manuala nie mam W starszych środowiskach Borlanda jakaś tam dokumentacja była ale po angielsku Nigdy biegle angielskiego nie znałem a teraz gdy trochę czasu upłynęło od matury to nawet część tego co miałem w szkole zapomniałem Tak myślałem że to stos (chciałem napisać listę ale mi nie wyszło)
15 mar 19:36
Mariusz: Dopisałem jeszcze funkcję dodającą węzeł na koniec Jakie jeszcze proponujecie funkcje ? Jak wyglądałoby sortowanie (mergesort vs quicksort)
16 mar 19:56