Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2 projkety (LISTA i kolejka), lista ma byc z sortowaniem z przemienianiem wskaznikow!!!
- LISTA jednokierunkowa: (np. indeks slow w tekscie)
- pHead, pLast, dynamiczna lista
- - wartownik sprzodu
- Kolejka dwukierunkowa
- - wartownik sprzodu
- - jedym wskaznikiem przeszukiwac liste zeby wiedziec gdzie wstawic
- typede stryct tagListItem
- {
- LISTINFO* pInt
- TAGlISTiTEM* pNext
- TAGlISTiTEM* pPrev
- { lISTiTEM;
- void InsertAfter(ListItem* pAfter, ListINFO* pInfo)
- {
- ListItem* p = (ListItem*)malloc (sizeof(listitem));
- memset(p, 0, sizeof(listItem));
- p->pPrev = pAfter;
- p->pNext = pAfter->pNext;
- pAfter->pNext = p;
- if(p->pNext)
- p->pNext->pPrev = p;
- }
- ************
- pList [ ] -> [ x ] -> [ 4 ] -> [ 2 ] -> [ 3 ] -> [ 1 ]
- 3 wskazniki: pStart, pMin, p
- while(p->pNext)
- if(pMin->pNext->key >= p->pNext->key)
- p idzie do przodu
- // 5 krokow nalezy wykonac aby przestawic element; pMin = pStart; p = pMin->pNext;
- - KOLEJKA FIFO (first in, first out) - jeden projekt ale w 3 werjach1!!! (tablicowa, )
- Ad tablicowa:
- Mam kolejka (fQueue), zdefiniowana kolejka, dynamiczna tablica wskazniki,
- global.h
- - ma byc cykliczna ( jezeli dojde do konca tablicy to musze z indeksem tablicy przejsc na poczatek!!!! porownuje ilosc elementow z rozmiarem)
- nHead(wskaznik do pierwszego elementu), nTail(wskaznik do ostatniego elementu)
- - musimy miec dod. info ile elementow jest umieszczne w kolejce;
- - ma byc wspolny przedrostek do wszystkich funkcji (fQ)
- typedef struct
- {
- ...
- ...
- ...
- ...
- ...
- } fQueue;
- int fQEmpty()
- fQueue* fQCreate(int nSize)
- void fQEnqQueue(fQueue* q, fQITEM* ) / wstawian nowy element do kolejki
- fQueue* fQDeQueque(fQueue* q) // sprawdza czy koljeka nie jest pusta, jezeli nie to zwraca element
- void fQClear(fQueue* q); // zwalnianie pamieci
- void fQRemove(fQueue** q); // usunie strukture i wynulluje (wskaznik na null)
- - kolejka prosta bez glowy
- typedef struct tagFQITEM
- {
- ifno finf..
- ...
- }
- typedef struct
- {
- fQItem* pNext; // to the first queue item
- fQItem* pTail // to the last queue item
- } fQueue;
- fQueue* QFCreate( FQueue* q); // zwraca NULL gdy sie nie uda
- int QFEmpty(FQueue* q); // if FIFO empty returned 1 else 0
- void QFEnqueue( fQueeue* q, int s); // inset new item at the end
- void QFDequeue( fQueue* q); // take out the first item
- void QFClear( fQueue* q); // czysci kolejke ale kolejka zostaje
- void QFRemove( fQueue** q); // wyrzuca kolejke
- void QFDell( FQueue* q); // remove only first items
- // calloc zamiast memlock i memset, pragma zamiast warunkowych kompilacji
- - to samo tylko z glowa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement