数据结构与算法
文章平均质量分 67
数据结构与算法c语言实现 代码具体实现+注释解析
POWERFULU
For man is man and master of his fate.
展开
-
快速排序 c语言代码实现
快速排序快速排序,顾名思义,是一种排序速度非常快的排序方法,该算法之所以非常快,是因为高度优化的内部循环,该算法在实际应用中非常广泛。快速排序是一种采用分治思想,在实践中通常运行较快一种排序算法 代码实现c语言版 #include <stdio.h>#include <stdlib.h>#define N 7//函数dayin:打印数组...原创 2018-04-08 13:56:04 · 15965 阅读 · 3 评论 -
直接选择排序
/** 直接选择排序 */#include<stdio.h>void select(int k[],int n){ int i,j,max; for(i=1;i<=n-1;i++){ max=i; for(j=i+1;j<=n;j++){ if(k[j]<k[max]){ max=j; } } if(max!=i){ k...原创 2019-08-12 19:31:55 · 152 阅读 · 0 评论 -
算法—n皇后问题(回朔法)
回朔法(可称通用解题法)例子:N皇后问题描述:N*N棋盘上无冲突的摆放N个皇后棋子,在国际象棋里皇后移动方式为横竖交叉的,求有几种解法思路:解空间树,从根节点出发,深度搜索整个树 附上解四皇后问题的代码#include<stdio.h>int count = 0;int isCorrect(int i, int j, int(*Q)[4]){ i...原创 2018-10-31 11:34:42 · 883 阅读 · 0 评论 -
c语言中对递归的理解(斐波那契+阶乘+汉诺塔+全排列)
递归的一个小解释递归是c语言中常用的编程技巧:即程序自身的调用,自己编写一个函数,在这个函数里边自己调用自己。递归可以做到的事情用循环也可以做到,它就相当于一个死循环。使用递归时的注意点:1.有反复的执行过程(调用自身) 2.有跳出反复过程的条件(出口)递归的优缺点优点:为某些编程问题提供最简单的解决方案缺点:快速消耗内存资源,并且不方便阅读与维护比如在这我们举一个比...原创 2018-05-04 15:01:53 · 504 阅读 · 0 评论 -
数据结构与算法(排序)——直接插入排序
直接插入排序是一种最简单的排序算法,因此又称简单插入排序思想:第i趟排序将序列中的第i+1个元素 k(i+1)插入到一个已经生成的子序列中合适的位置,使得插入的序列仍然保持有序。(不理解的就想打扑克牌时候手中码牌的顺序和方法) 例子:{3,6,4, 2,11,10,6} 实例代码:实现{2,5,6,3,7,8,0,9,12,1}的直接插入排序,要求从大到小排序 ...原创 2018-10-24 11:32:02 · 3707 阅读 · 0 评论 -
数据结构——队列(循环队列)的基本操作(实现链队列逐一取出c语言代码)
队列队列是一种重要的线性结构,与栈相同也需要顺序表或者链表作为基础。队列是先进先出(first in first out)FIFO的线性表。所有数据从队列的一端进入,从另一端离开。队列中允许插入数据一端称队尾(rear),允许数据离开的一端称队头(front)既可以是顺序表也可以是链表创建一个空队列入队列操作出队列操作实例分析/***********************************...原创 2018-06-26 11:09:20 · 4376 阅读 · 0 评论 -
数据结构—链表的基本操作(c语言代码)
链表链表也是一种线性表,与顺序表不同之处在于不像顺序表占据一段连续的存储空间,而是将存储单元分散在内存的任意地址上。链表结构中,储存每个数据时候都会把记录写在链表的一个结点(node)中,每个结点之间由指针相连,形成如同链子的结构。结点(node):可以是一个结构体类型元素,必须有一个专门来存放地址的域,用这个域来存放后继结点的地址,这样就连接起来链表组成:通常有表头(指针变量,存放第一个结点地址...原创 2018-06-06 17:45:59 · 7583 阅读 · 0 评论 -
数据结构——栈的基本操作(二进制转十进制实例—c语言代码)
栈栈是一种重要的线性结构。栈必须通过线性表或者链表来实现,顺序表点击打开链接和链表点击打开链接既可以向之前介绍的那样独立存在,同时它们也是一些特殊的数据结构(栈,队列)的实现基础。定义:栈是一个先进后出的线性表,只要求在表尾进行插入和删除等操作,这是栈相对于链表和顺序表的独特之处(对操作上有了一定的限制)。这个末尾称为栈顶(top) 相应的表头称为栈底(bottom)线性表的两种储存方式:顺序表...原创 2018-06-12 11:29:26 · 3993 阅读 · 1 评论 -
数据结构—顺序表基本操作(c语言代码)
/********************************************************************************创建一个静态的顺序表存放整数,大小为10,完成以下的操作1.输入6个整数,打印出顺序表的内容,并显示表中剩余空间的个数2.在顺序表的第三个位置处插入元素0,打印出表中的内容,并显示空间中剩余的个数3.再试图插入表中第11个位置整数...原创 2018-04-21 17:23:31 · 23914 阅读 · 5 评论