数据结构
归档一些基本的数据结构,C语言程序
foreverwlh
一个有想法的人
展开
-
堆栈(栈)的实现
链表栈#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct linkstack{ data_t data; struct linkstack *next;}linkstack_t;linkstack_t *creat_linkstack(){ linkstack_t *head; head = malloc(sizeof(linkstack_t)); head->原创 2022-02-14 06:50:08 · 346 阅读 · 0 评论 -
队列queue的实现
顺序表实现##list.c#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct list{ data_t *data; //保存数据的空间 int size; //容器能保存的元素个数 int last; //保存最后一个有效元素的下标}list_t;/*返回创建好的 空顺序表 的地址*/list_t *creat_list(int size){ list_t *原创 2022-02-14 06:47:33 · 312 阅读 · 0 评论 -
顺序表实现案例
范例1## list.c#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct list{ int size; //容器能保存的元素个数 int last; //保存最后一个有效元素的下标 data_t data[0]; //不定长数组名 必须放于 结构体的最后一个成员}list_t;/*返回创建好的 空顺序表 的地址*/list_t *creat_list(int原创 2022-02-14 06:36:05 · 476 阅读 · 0 评论 -
冒泡,快排和树
冒泡#include <stdio.h>#include <stdlib.h>int data[] = {3,8,2,9,1,5,7,6,4}; //3,2,8,1,5,7,6,4,9int maopao(int data[],int size){ int i,j; int temp; for(j = 0;j < size - 1;j ++){ for(i = 0;i < size - 1 - j;i ++){ if(data[i]原创 2022-02-14 06:21:20 · 91 阅读 · 0 评论 -
单向链表及双向链表
链表#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct linknode{ data_t data; struct linknode *next;}link_t;link_t *creat_link(){ link_t *head; head = malloc(sizeof(link_t)); head->next = NULL; return head;原创 2022-02-14 06:11:44 · 450 阅读 · 0 评论