Új hozzászólás Aktív témák
-
Dirty_Pio
csendes tag
Sziasztok, van egy kis problemam a listakkal c -ben. Nem a hagyomanyos pointeres modon szeretnem megoldani a feladatot, azaz letrehozni egy listat es kivenni, beletenni elemeket es kiiratni, hanem a kurzoros megoldassal, amikor egy listat vektor segitsegevel szimulalsz. Itt jon a kod:
#include <stdio.h>
#include <stdlib.h>
#define maxlen 100
typedef char tipcursor;
typedef int tipnod;
typedef struct tipelem{
tipnod element;
tipcursor next;
}tipelement;
typedef tipcursor tiplista;
void init(tipelement z[maxlen])
{
int i;
for (i=0;i<maxlen-1;i++)
z[i].next=i+1;
z[maxlen].next=-1;
}
tiplista add(tiplista *d,tiplista p,tipelement z[maxlen],tipnod e)
{
if (p==-1) {
p=*d;
z[*d].element=e;
*d=z[*d].next;
z[p].next=-1;
}
else{
tipcursor k=p;
while ((z[k].element<e)&&(k!=-1)&&(z[k].next!=-1))
{
k=z[k].next;
}
tipnod temp;
while (k!=-1)
{
temp=z[k].element;
z[k].element=e;
e=temp;
if(-1==(k=z[k].next)) z[k].next=*d;
}
z[*d].element=e;
temp=*d;
*d=z[*d].next;
z[temp].next=-1;
}
return p;
}
void list(tiplista s,tipelement z[maxlen])
{
while (s!=-1)
{
printf("%i ",z[s].element);
printf("%i ",z[s].next);
s=z[s].next;
}
}
int main(void)
{
tipelement zona[maxlen];
tiplista l=-1,m=-1,*disp;
disp=(tiplista*)malloc(sizeof(tiplista));
*disp=0;
init(zona);
l=add(disp,l,zona,16);
l=add(disp,l,zona,5);
list(l,zona);
l=add(disp,l,zona,41);
list(l,zona);
return 0;
}Nos a problemam az, hogy a program nem helyezi jol be az elemeket a helyukre, azaz miutan betettem a 16-ost utana az o helyere teszi az 5-t, de nem tolja arrebb a 16-t, pedig az add fuggvenybe minden jol megy, csak kiirataskor mar nem oks a lista.
Elore is koszonom.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 500+ POZITÍV ÉRTÉKELÉS
- HIBÁTLAN iPhone 13 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3760
- GYÖNYÖRŰ iPhone 15 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3944
- VICC ÁR! Dell Precision 7530 - Xeon E2186M (i9-8950HK++) / 32GB RAM 512GB SSD Quadro P2000
- Das Keyboard Prime 13 /Cherry MX Brown/EN/Fehér háttér világítás/
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


