-4
Hi, I’m having second thoughts about a university paper on how to reverse a sequence of numbers into a static list in C. The specific part I’m doubting is :
**int SList_reverse(SList* lista, int dado){
if(!SList_cheia(lista)){
int i;
for(i=0; i< lista->qty; i++)
printf("<-[%d] ", lista->data[i]);
putchar('\n');
}
return 0;
}**
Complete code:
#include "StaticList.h"
#include <stdlib.h>
#include <stdio.h>
#define MAX 10
typedef struct list{
int qty;
int data[MAX];
} TList;
TList* SList_create(){
TList* nova = (TList*) malloc(sizeof(TList));
if(nova!=NULL){
nova->qty = 0;
}
return nova;
}
int SList_insert(SList* lista, int dado){
if(!SList_cheia(lista)){
lista->data[(*lista).qty++] = dado;
return 1;
}
return 0;
}
void SList_print(SList* lista){
int i;
for(i=0; i< lista->qty; i++)
printf("[%d]-> ", lista->data[i]);
putchar('\n');
}
int SList_search(SList* lista, int dado){
int i;
for(i=lista->qty-1; i>=0; i--)
if(lista->data[i] == dado)
break;
return i;
}
int SList_remove(SList* lista, int dado){
if(!SList_vazia(lista)){
int i = SList_search(lista, dado);
if(i>=0){
int j;
for(j=i; j<lista->qty-1; j++){
lista->data[j] = lista->data[j+1];
}
lista->qty--;
return 1;
}
}
return 0;
}
int SList_reverse(SList* lista, int dado){
if(!SList_cheia(lista)){
int i;
for(i=0; i< lista->qty; i++)
printf("<-[%d] ", lista->data[i]);
putchar('\n');
}
return 0;
}
void SList_destroy(SList* lista){
if(lista!= NULL)
free(lista);
}
int SList_getQty(SList* lista){
if(lista!= NULL)
return lista->qty;
return 0;
}
int SList_cheia(SList* lista){
return (lista->qty == MAX);
}
int SList_vazia(SList* lista){
return (lista->qty == 0);
}
When you say
reverter uma sequencia de números
, do you want to reverse the order of the numbers? Exmeplo:123456789
in987654321
.– Júlio Evêncio
Exactly that.
– Lucas Moura