
数据结构
数据结构从入门到弃坑
Mr Robots
从小白到放弃的菜鸡一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表总结-C
链表总结一、理论部分1.节点组成2.基本操作二、具体实现1.基本操作——插入A.尾插法B.头插法C.任意位置插入2.基本操作——删除 一、理论部分 1.节点组成 数据域+指针域(下一个链表的地址) note:表头变量head存放链表首地址 struct Node{ int data; //数据域可随意定义 struct Node* next; //指针域 } 2.基本操作 a.插入:头插法,尾插法,任意位置插入 b.删除 c.遍历打印 d.逆转链表(递归、迭代) 二、具体实现 1.基本操作——原创 2021-08-08 19:50:18 · 488 阅读 · 0 评论 -
排序
输入格式: 输入第一行给出正整数N(N≤100000),随后一行给出N个(长整型范围内的)整数,其间以空格分隔。 输出格式: 在一行中输出从小到大排序后的结果,数字间以1个空格分隔,行末不得有多余空格。 输入样例: 11 4 981 10 -17 0 -20 29 50 8 43 -5 输出样例: -20 -17 -5 0 4 8 10 29 43 50 981 方法一 选择排序 #include<stdio.h> void SampleSelectSort(int* a,int n) {原创 2021-01-31 14:30:42 · 179 阅读 · 0 评论 -
根据后序和中序遍历输出先序遍历
本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。 输入格式: 第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。 输出格式: 在一行中输出Preorder: 以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。 输入样例: 7 2 3 1 5 7 6 4 1 2 3 4 5 6 7 1.建树-储存-先序访问 #include<stdio.h> #in原创 2021-01-27 10:41:18 · 223 阅读 · 0 评论 -
双端队列
双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作: Push(X,D):将元素X插入到双端队列D的头; Pop(D):删除双端队列D的头元素,并返回; Inject(X,D):将元素X插入到双端队列D的尾部; Eject(D):删除双端队列D的尾部元素,并返回。 bool Push(ElementType X,Deque D) { if((D-&g原创 2021-01-17 11:21:42 · 167 阅读 · 0 评论 -
链表逆置三种方法总结(C)
1.通过建立一个新链表实现 struct ListNode *reverse(struct ListNode *head) { struct ListNode *head1=NULL,*p=NULL; while(head) { p=(struct ListNode*)malloc(sizeof(struct ListNode));//申请内存 p->data=head->data; p->next=head1; //利用原创 2020-12-14 19:50:17 · 925 阅读 · 0 评论