DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Динамічні структури даних

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра інформаційних систем та мереж

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра інформаційних систем та мереж Лабораторна робота №11 на тему Динамічні структури даних Львів 2008 Мета роботи: Вивчити способи створення динамічних структур даних (списків, стеків, дерев, ...) та виконання операцій над ними. 1. Ввести з клавіатури послідовність цілих чисел без знаку та записати у відповідне бінарне дерево їх двійкові коди. Згенерувати ціле випадкове число без знаку та, використовуючи дерево, знайти його двійковий код або вивести повідомлення про відсутність числа у дереві. Текст програми: 1) #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #define n 10 struct ttree { char *data; struct ttree *left; struct ttree *right; }; char *bina(int a); struct ttree *addtotree(struct ttree *head); void printtree(struct ttree *head); int findtr(struct ttree *head); char *x; void main() { int i,a; struct ttree *head; randomize(); head=0; for(i=0;i<n;i++) { scanf("%d",&a); x=bina(a); head=addtotree(head); } a=random(20); x=bina(a); printtree(head); if (findtr(head)) printf("\n\nznajdeno:\n%s",x); else printf("\n\nneznajdeno:\n%s",x); getch(); } char *bina(int a) { int i; char *b; b=(char *)calloc(9,1); b[8]=0; for(i=7;i>=0;i--,a/=2) b[i]=a%2+'0'; return b; } struct ttree *addtotree(struct ttree *head) { if(!head) { head=(struct ttree *)malloc(sizeof(struct ttree)); head->left=0; head->right=0; head->data=x; } else { if(strcmp(head->data,x)<0) head->right=addtotree(head->right); if(strcmp(head->data,x)>0) head->left=addtotree(head->left); } return head; } void printtree(struct ttree *head) { if(head != 0) { printtree(head->left); puts(head->data); printtree(head->right); } } int findtr(struct ttree *head) {int a=1; if(!head) return 0; if(strcmp(head->data,x)>0) a=findtr(head->left); if(strcmp(head->data,x)<0) a=findtr(head->right); return a; } Відлагодження програми : 
Антиботан аватар за замовчуванням

30.11.2012 00:57

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!