Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Dificuldade para definir o tipo de dado: Vetor de listas.

$
0
0

Estou tentando criar uma estrutura de dado que suporte um vetor de listas encadeadas, as listas guardam os ponteiros para os primeiros elementos das listas, ou seja, cada elemento do vetor é a cabeça de uma lista encadeada.
 

// define elemento da lista
typedef struct no {
    int info;
    struct no *prox;
} No;

// define tipo lista encadeada
typedef struct {
    No *no;
} Lista;

// define tipo vetor de listas encadeadas
typedef struct {
    Lista *lista1;
} VetListas;

A função para criação do nó e da lista ficaram assim:
 

// cria um no, preenche o valor info, e aponta "->prox" para NULL
Lista *criaNo(Lista *l, int info) {
   No *novo=(No*) malloc (sizeof(No));
   novo->info=info;
   novo->prox=NULL;
   return(novo);
}

// cria dinamicamente um vetor de listas com "tamLista1" elementos
VetLista *criaLista(int tamLista1, int tamLista2) {
   VetLista *_l=(Lista*)malloc(sizeof(Matriz));
   int i;
   me->lista1 = (No*) malloc(tamLista1*sizeof(*No));
   for (i=0;i<tam;i++)
   me->lista1[i]=NULL;
   return(_l);
}

Esta´ dando um erro de incompatibilidade, alguém pode me ajudar a enxegar meu erro?!?!
 

int main() {
   VetLista *l = meCria(4); // cria vetor com 4 elementos/listas
   free(l);
}

Segue abaixo codigo completo:

// CODIGO COMPLETO //
#include <stdio.h>
#include <stdlib.h>

typedef struct no {
   int info;
   struct no *prox;
} No;

typedef struct {
   No *no;
} Lista;

typedef struct {
   Lista *lista1;
} VetListas;

Lista *criaNo(Lista *l, int info) {
   No *novo=(No*) malloc (sizeof(No));
   novo->info=info;
   novo->prox=NULL;
   return(novo);
}

VetLista *criaLista(int tamLista1) {
   VetLista *_l=(Lista*)malloc(sizeof(Matriz));
   int i;
   me->lista1 = (No*) malloc(tamLista1*sizeof(*No));
   for (i=0;i<tam;i++) me->lista1[i]=NULL;
   return(_l);
}

int main() {
   VetLista *l = criaLista(4); // cria vetor com 4 elementos/listas
   free(l);

Viewing all articles
Browse latest Browse all 14190