Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdbool.h>
- typedef struct SamList{
- int id;
- float height;
- struct SamList* next;
- } SamList;
- int main ( void )
- {
- /// S1 -> S2 -> S3 -> NULL
- SamList s3 = { 3, 176.0, NULL };
- SamList s2 = { 2, 174.0, &s3 };
- SamList s1 = { 1, 172.0, &s2 };
- /// head -> S1 -> ...
- SamList *head = &s1;
- SamList *pre = head;
- /// NewItem = { lettura1, lettura2, null }
- SamList newItem;
- printf ( "Inserire id e altezza: " );
- scanf ( "%d%f", &newItem.id, &newItem.height );
- while ( true ) {
- /// Se la lista non è vuota
- if ( head != NULL ) {
- /// Se il nuovo nodo è più grande di quello corrente
- if ( newItem.height > head->height ) {
- /// Scorro
- pre = head;
- head = head->next;
- continue;
- }
- }
- break;
- }
- /// Torno indietro di un nodo
- head = pre;
- /// head punta all'elemento precendete a quello da inserire
- /// PRECEDENTE -> NUOVO -> SUCCESSIVO
- newItem.next = head->next;
- head->next = &newItem;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement