日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据结构-栈2-链式存储

發(fā)布時(shí)間:2025/3/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构-栈2-链式存储 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

LinkList.h

#include<stdlib.h> #include<stdio.h> #include<string.h> #define MAX_SIZE 1024 #define TRUE 1 #define FALSE 0//鏈表結(jié)點(diǎn)--存儲(chǔ)下一個(gè)結(jié)點(diǎn)指針 typedef struct LINKNODE {struct LINKNODE *next; }LinkNode;//鏈表--保存頭結(jié)點(diǎn),和鏈表長(zhǎng)度 typedef struct LINKLIST {struct LINKNODE head;int size; }LinkList;//初始化 LinkList* Init_linkList();//壓入元素 void Push_LinkList(LinkList* stack, LinkNode* data);//取出棧頂元素 LinkList* Top_LinkList(LinkList* stack);//彈出棧頂元素 void Pop_LinkList(LinkList* stack);//判斷是否為空 int IsEmpty_LinkList(LinkList* stack);//返回棧元素個(gè)數(shù) int Size_LinkList(LinkList* stack);//清空棧元素 void Clear_LinkList(LinkList* stack);//銷(xiāo)毀棧元素 void FreeSpace_LinkList(LinkList* stack);

LinkList.c:

#include"LinkList.h" //初始化 LinkList* Init_linkList() {LinkList* stack = (LinkList*)malloc(sizeof(LinkList));stack->size = 0;stack->head.next = NULL;return stack; }//壓入元素 void Push_LinkList(LinkList* stack, LinkNode* data) {if (stack == NULL){return;}if (data == NULL){return;}data->next = stack->head.next;//stack->head.next = data->next; //問(wèn)題2:沒(méi)有繞對(duì)。。stack->head.next = data;stack->size++; }//取出棧頂元素 LinkList* Top_LinkList(LinkList* stack) {if (stack == NULL){return NULL;}return stack->head.next; }//彈出棧頂元素 void Pop_LinkList(LinkList* stack) {if (stack == NULL){return;}LinkNode *pNext = stack->head.next;//pNext->next = stack->head.next; 我的錯(cuò)誤做法stack->head.next = pNext->next;stack->size--;}//判斷是否為空 int IsEmpty_LinkList(LinkList* stack) {if (stack == NULL){return -1;}if (stack->size == 0)return TRUE;return FALSE; }//返回棧元素個(gè)數(shù) int Size_LinkList(LinkList* stack) {if (stack == NULL){return -1;}return stack->size; }//清空棧元素 void Clear_LinkList(LinkList* stack) {if (stack == NULL){return;}stack->head.next = NULL;stack->size = 0; }//銷(xiāo)毀棧元素 void FreeSpace_LinkList(LinkList* stack) {if (stack == NULL){return;}free(stack); }

棧的鏈?zhǔn)酱鎯?chǔ).c:

#define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<stdio.h> #include<string.h> #include"LinkList.h"typedef struct PERSON {LinkNode node; //應(yīng)用企業(yè)鏈表思想char name[64];int age; }Person; int main() {Person p1, p2, p3, p4, p5;strcpy(p1.name, "aaa");strcpy(p2.name, "bbb");strcpy(p3.name, "ccc");strcpy(p4.name, "ddd");strcpy(p5.name, "eee");p1.age = 12;p2.age = 13;p3.age = 14;p4.age = 15;p5.age = 20;LinkList* stack = Init_linkList();Push_LinkList(stack, (LinkNode*)&p1);Push_LinkList(stack, (LinkNode*)&p2);Push_LinkList(stack, (LinkNode*)&p3);Push_LinkList(stack, (LinkNode*)&p4);Push_LinkList(stack, (LinkNode*)&p5);while (Size_LinkList(stack) > 0){Person* p = (Person*)Top_LinkList(stack);printf("Name:%s Age:%d\n", p->name, p->age);Pop_LinkList(stack);}FreeSpace_LinkList(stack);return 0; }

運(yùn)行結(jié)果:

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的数据结构-栈2-链式存储的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。