Closed waldeyr closed 4 years ago
//Samuel Amaro do Nascimento!
#include <stdio.h>
#include <stdlib.h>
typedef struct No {
int dado;
struct No* prox;
}No;
//vai ser o controlador da lista sempre vai ter a referncia do ultimo no criado
No* ReferenciaUltimoNo = NULL;
//metodo que insere um novo no
void inserirDado(int dado);
void inserirDado(int dado) {
//cria um novo no e aloca ele logo em seguida
No* novoNo = (No*)malloc(sizeof(No));
//fazedo verificações para 2 situações
//1 - se não existir nenhum no na lista a lista esta vazia eu faço a inserção de um novo
//no que vai ser o cabeça e o ultimo da lista
novoNo->dado = dado;
if(ReferenciaUltimoNo == NULL) {
ReferenciaUltimoNo = novoNo;
ReferenciaUltimoNo->prox = NULL;
} else {
//se ja existir algum no na lista, independente de quantos
//eu faço a inserção de um novo no na lista e faço a linkedição e atualizo para um novo no o ultimo ser
//a cabeça da lista
//a cada novo no adicionado eu faço ele apontar para o ultimo criado antes dele
novoNo->prox = ReferenciaUltimoNo;
//atualiza a referencia de utimo
ReferenciaUltimoNo = novoNo;
}
}
//metodo imprime lista
void imprimeLista();
void imprimeLista() {
No* percorreLista = ReferenciaUltimoNo;
if(ReferenciaUltimoNo == NULL) {
printf("Lista Vazia Sem Nenhum No!");
}
else {
while(percorreLista != NULL) {
printf("[Endereço do No Atual = %p|Dado = %d|Seu Proximo = %p]\n",percorreLista,percorreLista->dado,percorreLista->prox);
percorreLista = percorreLista->prox;
}
}
}
void main(void) {
for(int indice = 0; indice < 5; indice += 1) {
inserirDado(indice);
}
imprimeLista();
}
//Cristiano Gomes Machado
`#include
typedef struct No{ int a; struct No prox; } No; No cabeca = NULL;
void inserir(int a); // a corresponde a um dado void inserir(int a){ No no = (No ) malloc (sizeof(No)); no->a = a; no->prox = NULL; if(cabeca == NULL){ cabeca = no; cabeca->prox = NULL; } else { no->prox = cabeca; cabeca = no; } } void imprimirLista(); void imprimirLista(){ No* aux = cabeca; if(cabeca == NULL) { printf("Lista Vazia, nao contem nenhum No!"); } else { while(aux != NULL) { // AUX Percorre a lista printf("[Endereço do No Atual = %p| ### a = %d|Seu Proximo = %p]\n",aux,aux->a,aux->prox); aux = aux->prox; } } } void main(void){ for(int indice = 0; indice < 5; indice += 1) { inserir(indice); } imprimirLista();
} `
Jose vitor
#include <stdio.h>
#include <stdlib.h>
#define TAM 10
typedef struct No{
int dado;
struct No* prox;
}No;
No* cabeca=NULL;
void inserir(int dado){
No *no=(No*)malloc(sizeof(No));
no->dado = dado;
no->prox=NULL;
if (cabeca == NULL){
cabeca = no;
}
else{
no ->prox=cabeca;
cabeca = no;
}
}
void imprimir(){
if (cabeca==NULL){
printf("\nlista vazia"); return;
}else{
No* no=cabeca;
while(no!=NULL){
printf("%d[%p]->%p\n",no->dado,no,no->prox);
no=no->prox;
}
}
}
void main(){
for(int dado=0;dado<TAM;dado++)
inserir(dado);
imprimir();
}
typedef struct No{ int a; strutc No* prox; }No;
No* cabeca = NULL;
void inserir(int a){
No* no = (No *) malloc(sizeof(No));
no->a = a;
no->prox = NULL;
if(cabeca = NULL){
cabeca = no;
}
else{
cabeca->prox = no;
cabeca = no;
}
}
void remover(int a){
No* no = (No *) malloc(sizeof(No));
no->a = a;
no->prox = NULL;
if(cabeca = NULL){
cabeca = no;
}
while (no != NULL) {
No* no = (No *) malloc(sizeof(No));
}
void imprimirNo(){
while( no != NULL){
printf("[%d(%p)|%p]\n", no->dado, no, no->prox);
no = no->prox;
}
return;
}
No *no = cabeca;
else(cabeca == NULL){
printf("Lista vazia!\n");
return;
}
}
void main(){ for(int i = 1; i <= 10; i++) inserir(i); imprimirNo(); }
Aluno: Arthur José Fernandes
#include <stdio.h>
#include <stdlib.h>
typedef struct No {
struct No *prox;
int dado;
} No;
No *cabeca;
void adicionarDado(int dado) {
No* no;
no = (No *) malloc(sizeof (no));
if (cabeca != NULL) {
no->prox = cabeca;
}
cabeca = no;
no->dado = dado;
}
void imprimirLista() {
if (cabeca == NULL) {
printf("\nLista vazia...\n\n");
} else {
No *no;
no = cabeca;
while (no != NULL) {
printf("\nende = %p\tdado = %d\tprox %p\n", no, no->dado, no->prox);
no = no->prox;
}
}
printf("\n");
}
void main() {
for (int i = 1; i <= 10; i++) {
adicionarDado(i);
}
imprimirLista();
}
typedef struct No{
int dado;
struct No *prox;
}No;
No *cabeca = NULL;
void inserir(int dado){
No *no = (No *) malloc(sizeof(no));
no-> dado = dado;
if(cabeca == NULL){
cabeca = no;
no->prox = NULL;
}else{
cabeca->prox = no;
cabeca = no;
}
}
void imprimir(){
if(cabeca == NULL){
printf("Lista vazia.\n");
return;
}
No *no = cabeca;
while(no != NULL){
printf("[d_%d/n_%p /p_%p]\t", no->dado, no, no->prox);
no = no->prox;
}
printf("\n");
return;
}
void main(){
for(int i=0; i<5; i++){
inserir(i);
}
imprimir();
}
Institute Federal of Goiás - TADS Data Structure with Mr. Waldeyr Mendes...
#include <stdio.h>
#include <stdlib.h>
//Create linked list struct.
struct LinkedList {
struct LinkedList *nextNeighbor;
int item;
};
//Not to forget typedef syntax.
typedef struct LinkedList Bloc;
//Functions prototypes.
void Create(Bloc **, int);
void Read(Bloc *);
void Delete(Bloc **, int);
//General functions.
//Linked list functions.
void Create(Bloc **headNeighbor, int item){
Bloc *newNeighbor = (Bloc*) malloc(sizeof(Bloc));
newNeighbor->item = item;
newNeighbor->nextNeighbor = (*headNeighbor);
(*headNeighbor) = newNeighbor;
}
void Read(Bloc *headNeighbor){
while (headNeighbor != NULL)
{
printf("%p|%d|%p\n", headNeighbor, headNeighbor->item, headNeighbor->nextNeighbor);
headNeighbor = headNeighbor->nextNeighbor;
}
}
void Delete(Bloc **headNeighbor, int item){
if (*headNeighbor == NULL)
return;
Bloc *temp = *headNeighbor;
if (item == 0){
*headNeighbor = temp->nextNeighbor;
free(temp);
return;
}
for (int i = 0; temp != NULL && i < item-1; i++)
temp = temp->nextNeighbor;
if (temp == NULL || temp->nextNeighbor == NULL)
return;
Bloc *next= temp->nextNeighbor->nextNeighbor;
free(temp->nextNeighbor);
temp->nextNeighbor = next;
}
int main(void){
Bloc *headNeighbor = NULL;
for (int i = 1; i <= 10; i++)
Create(&headNeighbor, i);
Read(headNeighbor);
puts("\n");
Delete(&headNeighbor, 5);
Read(headNeighbor);
return 0;
}
Tainara Moura De Ataídes
void main() {
typedef struct No {
int a;
struct No* prox;
} No;
No* cabeca = NULL;//declarando lista vazia// criou uma lista chamada de cabeca que recebe null
void inserir(int a){
No* no= (No *) malloc(sizeof(No));
no->a =a;
no->prox = NULL;
if(cabeca==NULL){//lista vazia
cabeca=no;//aponta para no
}else{//caso a lista nao esteja vazia
cabeca->prox= no;//campo proximo apontar para aonde a lista estava apontando
cabeca=no;
}
}
void imprimir(No* cabeca){
No* no;
if(cabeca==NULL){
printf("lista vazia!");
}
no = cabeca;
while(no != NULL){
if(no->prox !=NULL){
}else{
no=no->prox;
}
}
}
void main(){
for(int i=1; int i<=10; int i++){
inserir(i);
printf("[%d(%p)->%p]\n ", cabeca->a, cabeca, cabeca->prox);
}
}
}
Gearle Soares
`#include
typedef struct No{ int dado; struct No prox; } No; No cabeca = NULL;
void inserir(int dado){
No no = (No ) malloc(sizeof(no)); no-> dado = dado; if(cabeca == NULL){ cabeca = no; no->prox = NULL;
}else{ cabeca->prox = no; cabeca = no; } }
void imprimir(){
if(cabeca == NULL){
printf("Lista vazia.\n");
return;
}
No *no = cabeca;
while(no != NULL){
printf("[ant %d/end %p /prox %p]\t", no->dado, no, no->prox);
no = no->prox;
}
printf("\n");
return;
}
void main(){
for(int i=0; i<5; i++){ inserir(i); } imprimir(); }`
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// Define o tipo No contendo
typedef struct No{
struct No *ante;
struct No *prox;
int dado;
} No;
//Define o ultimo No da lista
No* cabeca = NULL;
//Funcao que adiciona dados
void inserir(int dado) {
No* no = (No *) malloc(sizeof (no));
no->dado = dado;
if (cabeca == NULL){//lista vazia
cabeca = no;
no->ante = NULL;
no->prox = NULL;
}
else {
no->ante = cabeca;
cabeca->prox = no;
no->prox = NULL;
cabeca = no;
}
}
//Funcao que imprime a lista
void imprimirLista() {
if (cabeca == NULL) {
printf("Lista vazia.\n");
return;
}
No* no = cabeca;
while (no != NULL) {
printf("[a_%p|%d(%p)|p_%p]\t", no->prox, no->dado, no, no->ante);
no = no->ante;
}
printf("\n");return;
}
void buscarDado(int dado){
No* no;
if (cabeca == NULL) {
printf("Lista vazia.\n");
return;
}
no = cabeca;
while (no != NULL) {
if (no->dado == dado)
printf("[%d(%p)]\n", no->dado, no);
no = no->ante;
}
}
void removerDado(int dado) {
No *no, *anterior;
if (cabeca == NULL) {// lista vazia
return;
} else { // lista NAO vazia
no = cabeca;
anterior = cabeca;
while (no != NULL) {
if (no->dado == dado){
if (no == cabeca){// removendo o primeiro
cabeca = cabeca->ante;
free(no);// libera memoria
return;
}
else{ // removendo do meio
anterior->ante = no->ante;
free(no);// libera memoria
return;
}
}
else{ // continua procurando na lista
anterior = no;
no = no->ante;
}
}
return;
}
}
void main() {
// Insere na lista os numeros de 1 a 3
for (int i = 1; i <= 3; i++)
inserir(i);
printf("Imprime Lista:\n");
imprimirLista();
printf("\nBusca Dado:\n");
buscarDado(3);
printf("\nRemove Dado: (2)\n");
removerDado(2);
printf("\nImprime lista Novamente:\n");
imprimirLista();
}
Dyego Rodrigues F. de Lima
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// Define o tipo No contendo
typedef struct No{
struct No *proximo;
struct No *anterior;
int dado;
} No;
//Define o ultimo No da lista
No* cabeca = NULL;
//Funcao que adiciona dados
void inserir(int dado) {
No* no = (No *) malloc(sizeof (no));
no->dado = dado;
if (cabeca == NULL){//lista vazia
cabeca = no;
no->proximo = NULL;
no->anterior = NULL;
}
else {
no->proximo = cabeca;
cabeca->anterior = no;
no->anterior = NULL;
cabeca = no;
}
}
//Funcao que imprime a lista
void imprimirLista() {
if (cabeca == NULL) {
printf("Lista vazia.\n");
return;
}
No* no = cabeca;
while (no != NULL) {
printf("|%p|%d(%p)|%p|\n", no->anterior, no->dado, no, no->proximo);
no = no->proximo;
}
printf("\n");return;
}
int main() {
// Insere na lista os numeros de 1 a 3
for (int i = 1; i <= 5; i++)
inserir(i);
imprimirLista();
return 0;
}
Judy Ellen Vera Martins 20171070130234
typedef struct No{ int a; struct No* prox; }No;
No* inicio = NULL;
void inserir(int a){ No no = (No ) malloc(sizeof(No)); no->a = a; no->prox = NULL; if(inicio = NULL){ inicio = no; } else{ inicio->prox = no; inicio = no; } }
void remover(int a){ No no = (No ) malloc(sizeof(No)); no->a = a; no->prox = NULL; if(inicio = NULL){ inicio = no; } while (no != NULL) { No no = (No ) malloc(sizeof(No));
}
void imprimirNo(){ while( no != NULL){ printf("[%d(%p)|%p]\n", no->dado, no, no->prox); no = no->prox; } return; } No *no = inicio; if (inicio == NULL){ printf("Lista vazia!\n"); return; } } void main(){ for(int i = 1; i <= 10; i++) inserir(i); imprimirNo(); }