数据结构与算法
数据结构基础学习
热爱学习的小羽呀
这个作者很懒,什么都没留下…
展开
-
中缀后缀(逆波兰)表达式~Java
中缀表达式的求值是我们人最熟悉的,但是对计算机来说却不好操作,因此,在计算结果时,往往会将中缀表达式转成其它表达式来操作(一般转成后缀表达式.)。1、计算中缀表达式思路 新建操作数栈和运算符栈,从头遍历表达式: 如果是数字: 直接入数字栈。 如果是符号: 如果运算符栈为空,直接入栈。 ...原创 2020-09-30 20:39:52 · 281 阅读 · 0 评论 -
直接插入排序~c语言
#include<stdio.h>int main(){ int s[20]; int n,i,j,key,f=1; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&s[i]); } for(i=0; i<n; i++) {...原创 2018-07-24 14:25:59 · 206 阅读 · 0 评论 -
快速排序~数组
#include<stdio.h>int quick_sort(int a[],int low,int high){ int i,x,y,key; if(low<high) //控制递归的条件 { x=low; y=high; key=a[x]; while(x...原创 2018-06-27 22:03:09 · 595 阅读 · 0 评论 -
二叉树的创建
#include<stdio.h>#include<stdlib.h>typedef struct node{ //定义节点 int data; struct node *lchild; struct node *rchild;}Btnode;Btnode *create_Btnode() ...原创 2018-06-21 18:34:53 · 626 阅读 · 0 评论 -
循环队列~基本操作
循环队列与非循环队列的区别:1~判断队列为空: Q->rel==Q->fear;2~判断队列为满: 非循环队列:Q->rel==size; 循环队列: ( Q->rel+1)%size==Q->fear (循环队列需要空出一个位置,且这个位置是不固定的,但它的下标一定为( Q->fea...原创 2018-06-22 17:27:03 · 545 阅读 · 0 评论 -
栈~顺序存储结构~基本操作
#include<stdio.h>#define Maxsize 1024typedef struct { //定义结构体 int data[Maxsize]; int top;}Stack,*Stackp;Stackp stack_creat(Stackp s) //创建栈{ int x,i=0; prin...原创 2018-06-17 12:08:56 · 670 阅读 · 1 评论 -
结构的定义与基本操作
在C语言中,定义结构变量时,结构类型名前必须加struct。可以省略结构名称,但不能省略变量名。\\指向结构变量的指针#include<stdio.h>int main(){struct xm{ int Math; int Chinese; int English;}xm1={100,100,100};struct xm *p;p=&xm1;printf("%...原创 2018-06-12 23:46:24 · 278 阅读 · 0 评论 -
线性表~双向链表~插入与删除
#include<stdio.h>typedef struct node //定义结构体{ int data; struct node *next; struct node *prior;}linknode,*link;link creatList(link head) //创建链表{ l...原创 2018-06-16 19:26:34 · 384 阅读 · 0 评论 -
线性表~顺序结构(数组)
#include<stdio.h>#define Maxsize 1024typedef struct{ int data[Maxsize]; int last;} sqlist,*list;void creatList(list L) //创建链表{ int x,i=0; printf("请输入第%d个元素:",i+1); ...原创 2018-06-16 14:10:16 · 188 阅读 · 0 评论 -
冒泡排序~链表
#include<stdio.h>typedef struct node{ int data; struct node *next;} linknode,*link;link creatLink(link head) //创建链表{ link p,r; int x; r=head; scanf("%d",&x); wh...原创 2018-06-16 00:53:33 · 281 阅读 · 0 评论 -
约瑟夫环~单链表
约瑟夫环(约瑟夫问题)已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。解法1/*此算法将头指针head也进行data赋值*/#include<stdio.h>typedef struct node //定义结构体{ ...原创 2018-06-13 12:00:47 · 684 阅读 · 0 评论 -
线性表~单链表~基本操作及扩展操作
#include<stdio.h>#include<stdlib.h>typedef struct node //结点类型(名称){ int data; //结点的数据域 struct node *next; //结点的后继指针} linknode,*linkp;/*单链表...原创 2018-06-12 23:35:38 · 407 阅读 · 0 评论