Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //انا عملت
- //two functions
- //زيادة للسيرش
- //هتزود السطرين دول في الهيدر
- void search_id_2(node_id** tree, int id);
- void search_name_2(node_id** tree, char* name);
- //هتزود دول في
- //trees.c
- void search_id_2(node_id** tree, int id) {
- if (!(*tree)) {
- return;
- }
- if (id == (*tree)->id) {
- printf("%s %d\n",(*tree)->name,(*tree)->id);
- }
- if (id < (*tree)->id) {
- search_id_2(&((*tree)->left), id);
- }
- else {
- search_id_2(&((*tree)->right), id);
- }
- return;
- }
- void search_name_2(node_id** tree, char* name) {
- if (!(*tree)) {
- return;
- }
- if (strstr((*tree)->name,name) != NULL) {
- printf("%s %d\n",(*tree)->name,(*tree)->id);
- }
- if (strcmpi(name, (*tree)->name) < 0) {
- search_name_2(&((*tree)->left), name);
- }
- else
- {
- search_name_2(&((*tree)->right), name);
- }
- return NULL;
- }
- //ودول هتحطهم في ال
- //main.c
- //بدل الموجودين
- case 11:
- {
- printf("Enter name: ");
- while((c= getchar()) != '\n' && c != EOF);
- gets(name);
- search_name_2(&root_name, name);
- break;
- }
- case 12:
- {
- printf("Enter id: ");
- scanf("%d", &id);
- search_id_2(&root_id, id);
- break;
- }
- //واخير
- //هتحط دي بدل اللي عندك
- //انا ظبطتها بحيث ان لو واحد دخل جزء من الاسم تطلعله نتيجة
- node_id* search_name(node_id** tree, char* name)
- {
- if (!(*tree))
- {
- return NULL;
- }
- if (strstr((*tree)->name,name) != NULL)
- {
- return *tree;
- }
- else if (strcmpi(name, (*tree)->name) < 0)
- {
- search_name(&((*tree)->left), name);
- }
- else if (strcmpi(name, (*tree)->name) > 0)
- {
- search_name(&((*tree)->right), name);
- }
- return NULL;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement