Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct no{
- int valor;
- struct no *proximo;
- };
- typedef struct no No;
- No *criar_no(){
- No *criar_no = (No*)malloc(sizeof(No));
- return criar_no;
- }
- No *inserir_ordenado(No *lista, int elemento){
- No *novo_no = criar_no();
- No *auxiliar, *sobreauxiliar;
- //auxiliar = lista;
- novo_no -> valor = elemento;
- if(lista == NULL){
- novo_no -> proximo = NULL;
- return novo_no;
- }
- for(auxiliar = lista; auxiliar != NULL; auxiliar = auxiliar -> proximo){
- sobreauxiliar = auxiliar -> proximo;
- if(elemento > auxiliar -> valor && elemento < sobreauxiliar -> valor){
- novo_no -> proximo = sobreauxiliar;
- auxiliar -> proximo = novo_no;
- return lista;
- }if(elemento > auxiliar -> valor && sobreauxiliar == NULL){
- novo_no -> proximo = NULL;
- auxiliar -> proximo = novo_no;
- return lista;
- }if(elemento < auxiliar -> valor && auxiliar == lista){
- novo_no -> proximo = lista;
- return novo_no;
- }
- }
- }
- void imprimir(No *lista){
- No *aux = lista;
- while(aux != NULL){
- printf("%d", aux -> valor);
- aux = aux -> proximo;
- }
- }
- void main(){
- No *lista = NULL;
- lista = inserir_ordenado(lista, 8);
- lista = inserir_ordenado(lista, 1);
- lista = inserir_ordenado(lista, 6);
- imprimir(lista);
- }
Advertisement
Add Comment
Please, Sign In to add comment