From d9d935c0bfc0b29da5f8ff6e9ef1e0becae75414 Mon Sep 17 00:00:00 2001 From: GordStep Date: Sun, 19 Apr 2026 00:31:51 +0300 Subject: [PATCH] implementing a linked list - insert - delete - find - listAll --- .../data-structures/sorce/linked_list.c | 141 ++++++++++++++++++ .../data-structures/sorce/linked_list.h | 29 ++++ stepushovgs/data-structures/sorce/main.c | 40 ++++- stepushovgs/data-structures/sorce/main.exe | Bin 0 -> 63350 bytes stepushovgs/data-structures/sorce/main.o | Bin 15896 -> 61346 bytes 5 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 stepushovgs/data-structures/sorce/linked_list.c create mode 100644 stepushovgs/data-structures/sorce/linked_list.h create mode 100644 stepushovgs/data-structures/sorce/main.exe diff --git a/stepushovgs/data-structures/sorce/linked_list.c b/stepushovgs/data-structures/sorce/linked_list.c new file mode 100644 index 0000000..04231ba --- /dev/null +++ b/stepushovgs/data-structures/sorce/linked_list.c @@ -0,0 +1,141 @@ +#include +#include +#include + +#include "linked_list.h" + +int getListNodeLength(Node* HEAD) +{ + int len = 0; + + Node* current = HEAD; + while (current != NULL) + { + len++; + current = current->next; + } + + return len; +} + +// Добавление в конец +Node* insert(Node* head, char name[NAME_BUFF_SIZE], char phone[PHONE_BUFF_SIZE], int show) +{ + Node* newNode = (Node*)malloc(sizeof(Node)); + + strcpy_s(newNode->name_, NAME_BUFF_SIZE, name); + strcpy_s(newNode->phone_, PHONE_BUFF_SIZE, phone); + newNode->next = NULL; + + printf("Data: %s %s\n", name, phone); + printf("New Data: %s %s\n", newNode->name_, newNode->phone_); + + if (head == NULL) +{ + printf("\nNew list\n"); + head = newNode; + return newNode; + } + + Node* last = head; + int ind = 0; + while (last->next != NULL) + { + if (show == 1) + printf("%d \n", ind++); + last = last->next; + } + + last->next = newNode; + return head; +} + +char* find(Node* HEAD, char target_name[NAME_BUFF_SIZE]) +{ + Node* current = HEAD; + + while (current != NULL) + { + + if (strcmp(target_name, current->name_) == 0) + { + return current->phone_; + } + + current = current->next; + } + return NULL; +} + +// Вывод всех элементов +void printAllNodes(Node* head) +{ + Node* current = head; + int ind = 0; + + while (current != NULL) + { + printf("Ind: %d\nName: %s\nPhone: %s\n", ind++, current->name_, current->phone_); + current = current->next; + } +} + +Node* deleteNode(Node* HEAD, char target_name[NAME_BUFF_SIZE]) +{ + Node* privious = HEAD; + Node* current = HEAD->next; + + while (current != NULL) + { + if (strcmp(target_name, current->name_) == 0) + { + privious->next = current->next; + break; + } + + privious = current; + current = current->next; + } + + return HEAD; +} + +Node* listAll(Node* HEAD) +{ + if (HEAD == NULL) + { + return NULL; + } + + int len = getListNodeLength(HEAD); + Node* current = HEAD; + + Node* list = (Node*)malloc(len * sizeof(Node)); + + int ind = 0; + while (current != NULL) + { + list[ind++] = *current; + current = current->next; + } + + return list; +} + +void printNode(Node node) +{ + printf("%s ", node.name_); + printf("%s\n", node.phone_); +} + +void printListNode(Node* list, int length) +{ + printf("\n\n%d\n", length); + for (int i = 0; i < length; i++) + { + printNode(list[i]); + } +} + + + diff --git a/stepushovgs/data-structures/sorce/linked_list.h b/stepushovgs/data-structures/sorce/linked_list.h new file mode 100644 index 0000000..7fb4422 --- /dev/null +++ b/stepushovgs/data-structures/sorce/linked_list.h @@ -0,0 +1,29 @@ +#define NAME_BUFF_SIZE 50 +#define PHONE_BUFF_SIZE 12+1 // +1 for end symbol + +typedef struct Node +{ + char name_[NAME_BUFF_SIZE]; + char phone_[PHONE_BUFF_SIZE]; + struct Node* next; +} Node; + +typedef struct LinkedListPhoneNumbers { + Node* HEAD; +} LinkedListPhoneNumbers; + +Node* insert(Node* head, char name[NAME_BUFF_SIZE], char phone[PHONE_BUFF_SIZE], int show); +void printAllNodes(Node* head); +void printNode(Node node); + +char* find(Node* HEAD, char target_name[NAME_BUFF_SIZE]); + + +Node* deleteNode(Node* HEAD, char target_name[NAME_BUFF_SIZE]); + + +Node* listAll(Node* HEAD); + +void printListNode(Node list[], int length); + +int getListNodeLength(Node* HEAD); diff --git a/stepushovgs/data-structures/sorce/main.c b/stepushovgs/data-structures/sorce/main.c index 35f3250..8b73cdf 100644 --- a/stepushovgs/data-structures/sorce/main.c +++ b/stepushovgs/data-structures/sorce/main.c @@ -1,8 +1,44 @@ -#include +#include +#include +#include + +#include "linked_list.h" + +#define NAME_BUFF_SIZE 50 +#define PHONE_BUFF_SIZE 12+1 // +1 for end symbol int main() { - printf("hello world!\n"); + Node* list = NULL; + char phone[] = "1234"; + for (int i = 0; i < 12; i++) + { + char num[3]; + sprintf_s(num, 3, "%d", i); + + char name[] = "name "; + strcat_s(name, 9, num); + printf("%d %s %s\n", i, name, phone); + list = insert(list, name, phone, 0); + } + char test_name[] = "name 20"; + char test_phone[] = "phone 343"; + + list = insert(list, test_name, test_phone, 1); + + printAllNodes(list); + + printf("\n%s\n", find(list, test_name)); + + strcpy_s(test_name, NAME_BUFF_SIZE, "name 10"); + list = deleteNode(list, test_name); + + printAllNodes(list); + + Node* listNodes = listAll(list); + printListNode(listNodes, getListNodeLength(list)); + + free(listNodes); return 0; } diff --git a/stepushovgs/data-structures/sorce/main.exe b/stepushovgs/data-structures/sorce/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..b7fdfffcdb2767e2cf9dfcbabe1fdaa84f31e48e GIT binary patch literal 63350 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 literal 15896 zcmeHOU2Ggz6~4Pk8kfdD%@1`FXr?HE6yc5SBvwL6vX0|q9OcI(P6UE5ti2n1(R$bH zj$6C5B2u6t3K4+^RQgc0Z-o~k)Q9lqD5d33!WA!35vm0Za)ClB3UWZo@}0Ton~aBb zk@^5a%#~)od%kVz*=xha?g8I>c^;@G8eKrwtHU z9=7L*F_IIULu^+&V$@DtnC-CovwIe!o3`?xBJD&JyE(O+Q@aqgy*Wk3Q(_{=pvE(f zn^7i-D7uma<+$qLgcQeYz)GLn6mM_Av3wkr4#UOvPTutM@1?y#wOgwd$8ocD<6o}t zld$7ZP?dKD4v!Ps-ctS7sr^RO?g(PJ7A;6O96EN&eE0O_Ex&qg{jc|4p8DB0-f}Pg z;>E3%ZKdLH&yH=Sd`GERo}B8K+SSw1vm;ZhWV(ZUPwHZQ@9J!%P_A)xL}u1S#-R{F zslSna9=sFLW45*g-wysmREpxnq+c_hhf5vtYJRTjd*iuc8O+F3&O2Ky=Ss!L3r33N z!h6i2BLn;UyzWeQW@nh+zQcF}Lr1-Qp;{O%*8DjQiCYKV6@7&%e}kJqSa6=TAY` zxBMLE)=gRDL>`l}H|Og0y4ZKUHE`k8&$$+)I02gHCY(e%CbxzZx7=%g z+UH(dSmvf)c3-{YuSEsTT0v8N?riI(19$DkzjJ#!P;4f*pK{Od`F#di_rguT*}b@@ z1$=$o4N&tVxR{q$EC-P~bN#Nr@FQ!^-j$`kH%Fm+3U%NrW?H1SSLWZiQ?FkY$Io0h zVNAm)NTDIWr?1zp156YLT3d$)YQciN4rN5>AdJB@sv> zkVGJfKoWr@0!ajt2qY0mB9KJje<1=~m&kR9d>@jvj*?bc2p2v!t30IZ8P}`K^^O}= z=DSz$P6m$a9_4*a63hR3r(O~HvMw^@+Qd)kixt--UeWURi89h93+6sWSyw7)orUnM zW@cX3IdZKe_4!^Z>l`ILV8P6*BjmTLOuuJT4~sy9#QOeGx7PzQP{n87;QAKydhjJU zkQryZwg&R=wEVWp^joX{j|10_#~bd^^{V8#PW4b<-^ZP;cr$+3>Dq}!xm`|oXLnC$ zcjsqN}Ihm?OV#>;;TqR(*;F-V7T zPMP(lJ!@t5)9HX;8;)aJYRr?!NIkrd$X^Kb*M#eU$-jV1Bmcj@1pmXJo;GvEK_-?O z)$R3XH~xq^dAWC5AwH>X|&$^{RoIdr3jt~_;%BjjgZK8gKtz% zANV%Y9>$qghebc#Z1{X3KdAcg`p zH7%Y7zZ(6U)$tSjM}?wGs?TvktM91(Zhb!T`S&b%@h7hTJ@5{VBlr^d;18|{C)wA* zuTJAB7#q*#{qAF*=laQ;N>UB$ERTukvwSn zi&SM%e`Z8{E0pu%ndcom(R;Mt>pynD!MjOsMBpXL4uyu>4i@iqSnQhw(wIzb zdfd+q1O2MSG3Lq@zmOR%PiBTEi`Xer%$rQHj2#dYCSb>MwK0>)PnS`HMZaoG9xYUB z#Y%aR;GwKqDCNXJa}ypj75clsR7_cB*~c zf2B-U{{}CA{v6new-2NOmi3#Vc;qzIa)0`JWB}nvx z@|Tc_+B<3&A{7<2IBe#rn0;0ih-+dUMtfHK^_V?>e~Fy;Q$Ozix742TH;!s5>d&E) zwy#0~nP+f_i?ruFg}6DYjC{QP7h?9i9BV*)!iwRU{YT;l$VBh|tBx%pW~~^WeH=&cz*baf&wXn%+dv|1wGf`!F7Y->qV{}Wn^$`$w6q!85z{b^ z+H;=R)M@qUC##`dD8pDd`p