
MATRIZESPARSALINHA
By:
PedroHMM on
Apr 29th, 2012 | syntax:
C++ | size: 1.32 KB | hits: 37 | expires: Never
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct estrutura
{
int valor;
int col;
int lin;
estrutura *prox;
}NO;
void inicializar(NO** inicio)
{
*inicio =NULL;
}
bool inserir (NO** inicio, int col, int lin, int valor)
{
NO* novo =(NO*) malloc(sizeof(NO));
novo->valor = valor;
novo->col = col;
novo->lin = lin;
if(*inicio == NULL)
{
novo->prox = *inicio;
*inicio = novo;
return true;
}
NO* p = *inicio;
while(p->lin <= lin && p->col < col && p->prox != NULL)
{
p = p->prox;
}
if(p == *inicio)
{
novo->prox = *inicio;
*inicio = novo;
return true;
}
novo->prox = p;
p->prox = novo;
return true;
}
void imprimir(NO**inicio)
{
NO* p = *inicio;
while(p)
{
printf("%i\t", p->valor);
p = p->prox;
}
}
main()
{
NO* inicio;
inicializar(&inicio);
inserir(&inicio, 6,5, 15);
inserir(&inicio, 4,5, 10);
inserir(&inicio, 1,1, 5);
inserir(&inicio, 1,2, 6); //==> aqui tá o problema
imprimir(&inicio);
getch();
}