Wątek przeniesiony 2014-03-13 00:54 z C/C++ przez ŁF.

Lista dwukierunkowa - funkcja podmieniająca wybrany element typu char z innym charem

0

Witam szukam źródel lub wskazowek w jaki sposob napisac funkcje do listy dwukierunkowej ktora podmieni wybrany element listy typu char z innym charem. Przykladowo:

Lista[n] = 'a' 
moj_char = 'b' 
podmien(Lista, element, moj_char);
Lista[n] = 'b'

Funkcje ktore dotychczas zrealizowalem:

struct dlistEl
{
  dlistEl * next, * prev;
  char data;
};

struct dlistVar
{
  dlistEl * head, * tail;
  unsigned count;
};

void l_init(dlistVar & L)
{
  L.head  = L.tail  = NULL;
  L.count = 0;
}
dlistVar first;

void l_push_back(dlistVar & L, char v)
{
  dlistEl * p;

  p = new dlistEl;
  p->data = v;
  p->next = NULL;
  p->prev = L.tail;
  L.tail  = p;
  L.count++;
  if(p->prev) p->prev->next = p;
  else L.head = p;
}

Probowalem metody usun_wybrany, a nastepnie dodaj_przed_wybranym jednak usuwajac aktalny element listy dochodzilo do crashu programu

dodanie znacznika <code class="c"> - Furious Programming

0

A czy rozumiesz w tym kodzie co podałeś przynajmniej jeden wiersz?

for(dlistEl *i=L.head;i;i=i->next) if(i->data==find) i->data=replace;
0

Tak, caly problem polega w tym by nie uzywac zadnej biblioteki STL.

1 użytkowników online, w tym zalogowanych: 0, gości: 1