Официальный сайт студ.городка НГТУ
Прочее » Помогите - "Хэш таблица" 

#1  10.05.09 16:39

Помогите - "Хэш таблица"

Необходимо написать программу на языке Си, которая будет читать входной .txt файл с кодом программы на языке Си. Программа должна подобно компилятору проверять код на наличие, например, инициализированных, но не использованных переменных и как-нибудь сообщать об этом. Такая проверка должна использовать построение таблицы символов или хэш-таблицы.
     Таблица должна строиться на бинарном дереве.

     Так вот, может есть у кого что подобное (кода кусок или функции или хорошая ссылочка), чтобы собрать такую прогу.

     Я не сильно шарю в программировании, поэтому прошу оказать по возможности какую-нибудь помощь.)))


    У меня есть несколько функций, но мож есть лучше или какая функция ещё должна быть в проге?  :

----------------------------------------------------------------------------------------------------
    Поиск в такой таблице может быть описан следующей функцией: struct TreeElement * SearchTree(String Id, struct TreeElement * TP) 
{int comp; 
if (TP==NULL) return NULL; 
comp=IdComp(Id,TP->IdentP); 
if (comp<0) return(SearchTree(Id,TP->Left)); 
if (comp>0) return(SearchTree(Id,TP->Right)); 
return TP; 
}

----------------------------------------------------------------------------------------------------
где структура для для элемента дерева имеет вид struct TreeElement 
   {String IdentP; 
    struct TreeElement * Left, * Right; 
   };

-----------------------------------------------------------------------------------------------------
Занесение в таблицу осуществляется функцией struct TreeElement * InsertTree(String Id, struct TreeElement * TP) 
{int comp=IdComp(Id,TP->IdentP); 
if (comp<0) return(Fill(Id,TP->Left, &(TP->Left))); 
if (comp>0) return(Fill(Id,TP->Right, &(TP->Right))); 
return(TP); 


struct TreeElement * Fill(String Id, 
                          struct TreeElement * P, 
                          struct TreeElement ** FP) 
{ if (P==NULL) 
   {P=alloc(sizeof(struct TreeElement)); 
    P->IdentP=Include(Id); 
    P->Left=NULL; 
    P->Right=NULL; 
    *FP=P; 
    return(P); 
   } 
  else return(InsertTree(Id,P)); 
}

Исправлено AZOT--888 (10.05.09 16:41)

Offline

#2  11.05.09 13:38

Re: Помогите - "Хэш таблица"

решаю лабы, недорого, в личку!

Offline

Прочее » Помогите - "Хэш таблица" 

ФутЕр:)

© Hostel Web Group, 2002-2026.   Сообщить об ошибке

Сгенерировано за 0.027 сек.
Выполнено 14 запросов.