View Single Post
Old 17-02-2005, 18:31   #6
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
Codice:
#include <stdio.h>
#include <stdlib.h>

typedef struct EL {
	int iVal;
	struct EL *pNext;
	struct EL *pPrec;
} Node;

void visualizza (Node *pEl){
	if (pEl==NULL) return;
	printf ("\nElement:\t%d",pEl->iVal);
	visualizza(pEl->pNext);
}

void ins_head (Node **pTesta, int iValue){
	Node *pApp;
	pApp = (Node*)malloc(sizeof(Node));
	pApp->iVal = iValue;
	pApp->pNext = *pTesta;
	pApp->pPrec = NULL;
	*pTesta = pApp;
}

void ins_ord (Node **pTesta, int iValue){
	Node *pApp, *pSup, *pPrec;
	pApp = (Node*)malloc(sizeof(Node));
	pApp->iVal = iValue;
	pSup = *pTesta;
	pPrec = NULL;
	while (pSup!=NULL && pSup->iVal < pApp->iVal){
		pPrec=pSup;
		pSup=pSup->pNext;
	}
	if (pPrec == NULL){
		pApp->pNext = pApp->pPrec = NULL;
		*pTesta = pApp;
	}
	else{
			pPrec->pNext = pApp;
			pApp->pNext = pSup;
			pApp->pPrec = pPrec;
			if (pSup != NULL){
				pSup->pPrec = pApp;
			}
	}
}

int main (void){
	Node *Testa;
	Node *TestaOrdinata;
	TestaOrdinata = NULL;
	Testa = NULL;
	ins_head (&Testa,3);
	ins_head (&Testa,4);
	ins_head (&Testa,5);
	
	ins_ord (&TestaOrdinata,3);
	ins_ord (&TestaOrdinata,4);
	ins_ord (&TestaOrdinata,5);
	

	visualizza (Testa);
	printf ("\n\n");
	visualizza (TestaOrdinata);
	printf ("\n\n");
	system ("PAUSE");
	return (0);
}
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso