
C语言
Eliasfp
这个作者很懒,什么都没留下…
展开
-
选择排序算法(C语言实现)
#include <stdio.h>void choice(int *a,int n){ int i,j,temp; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(a[i]>a[j]) { ...原创 2018-03-19 15:18:31 · 81256 阅读 · 30 评论 -
栈的实现(C语言)
栈的原理:先进后出原则!!!1、限定仅在表尾进行插入或删除操作的线性表2、栈顶:表尾端 3、栈底:表头端4、应用:数制转换,行编辑程序,树的遍历等5、凡是对数据的处理具有“后进先出(LIFO)”的特点,都可以用栈这种数据结构来操作demo:用链表实现栈!#include <stdio.h>#include <stdlib.h>#include <assert.h&...原创 2018-03-28 14:24:14 · 1131 阅读 · 0 评论 -
快速排序法(C语言实现)
快速排序demo原创 2018-03-28 11:51:03 · 8200 阅读 · 2 评论 -
单向链表之逆序(C语言实现)
链表的创建查看逆序思想:1、链表为空时:不需要逆序;2、链表只有一个节点时:不需要逆序;3、链表的节点为两个以及两个以上时:需要逆序结构体节点:typedef struct student { int num; //学号 int score; //分数 char name[20]; struct student原创 2018-03-20 07:50:26 · 14459 阅读 · 0 评论 -
单向链表之有序插入节点(C语言实现)
链表的创建查看按特定值插入链表,要求链表本身使用某种排序方法排好序的。 链表的插入分四种情况:1、原链表为空时:使头结点head指向新插入的节点p_new; 2、在第一个节点前加入:使头结点head指向新插入的节点p_new,新插入的节点p_new的next指向第一个节点;3、在中间插入节点:使新加入的节点的前一个节点指向新加入的节点p_new,新加入的节点的next指...原创 2018-03-20 07:50:05 · 12572 阅读 · 6 评论 -
单向链表之排序(C语言实现)
链表的创建查看链表的排序有三种情况:1、链表为空时:不用排序;2、链表中有一个节点:不用排序;3、链表中两个及其以上节点时:排序。结构体节点:typedef struct student { int num; //学号 int score; //分数 char name[20]; struct student原创 2018-03-20 07:49:41 · 19439 阅读 · 17 评论 -
单向链表之删除节点(C语言实现)
链表的创建查看删除节点就是将某一节点从链中摘除。将待删节点与其前一节点解除联系(中间或尾部)或本阶段删除(头节点),并释放相应空间(free)。删除的第一步是找到要删除的节点,同链表查找,如果找不到或链表为空,提示未找到,找到后根据情况删除此节点。删除节点两种情况:第一个节点,后面节点。步骤:1、链表为空:不用删除2、链表不为空:先循环找要删除的节点1)找到了1>找原创 2018-03-19 17:16:54 · 71407 阅读 · 17 评论 -
单向链表之释放(C语言实现)
链表的创建查看同遍历链表类似,区别在于p_mov每指向某个节点后都将该节点释放1、释放前要先保存下一个节点,释放后备份恢复给p_mov,否则释放了当前节点,下一个节点的地址就将失去;2、依次将所有节点释放后,最后返回NULL(标示释放完毕)。结构体节点:typedef struct student { int num; //学号 i原创 2018-03-19 16:54:49 · 18076 阅读 · 7 评论 -
单向链表之查询(C语言实现)
链表的创建查看查询步骤:1、得到链表第一个节点的地址,即head的值2、设一个临时指针变量p_mov,指向第一个节点head,即可获 取p_mov所指节点的信息3、比较是否是要查找的节点是,则返回相应节点地址,停止查找;不是,使p_mov后移一个节点,即可访问下一节点,直到链 表的尾节点(注意结尾判断条件),最后找不到返回NULL。结构体原创 2018-03-19 16:49:40 · 2211 阅读 · 0 评论 -
单向链表之遍历(C语言实现)
步骤:1、得到链表第一个节点的地址,即head的值;2、设一个临时指针变量p_mov,指向第一个节点head,即可获取 p_mov所指节点的信息;3、使p_mov后移一个节点,即可访问下一节点,直到链表的尾节 点(注意结尾判断条件)。demo:void link_print(STU *head){ STU *p_mov=head; while(原创 2018-03-19 16:35:19 · 22953 阅读 · 0 评论 -
单向链表之创建添加(C语言实现)
创建方式:顺序创建(新加入的放在尾部)、逆序创建(新加入的放在头部)1、顺序创建:两种情况:当链表为空时,将链表头直接指向新加入的节点及第一个节点;当链表不为空时,首先遍历链表找到链表尾节点,然后将新加入的点挂在尾部。 2、逆序创建: 两种情况:当链表为空时,将链表头直接指向新加入的节点及第一个节点;当链表原创 2018-03-19 16:32:12 · 3869 阅读 · 0 评论 -
二分查找算法(C语言实现)
二分查找原创 2018-03-19 15:48:27 · 24708 阅读 · 6 评论 -
希尔排序算法(C语言实现)
希尔排序算法demo原创 2018-03-19 15:45:20 · 15837 阅读 · 13 评论 -
直接插入排序法(C语言实现)
插入法排序:通过数据移动,留出合适位置插入顺序合适的值,而无须数据交换步骤:从第二个元素“i”开始缓存准备用于比较,并留出一个空位将空位前的元素“j”拿来与缓存值比较不满足则移动,直到向前找到头比较的目的是要让缓存值插入后成为从开头到插入点这个区间中的最值如果缓存值向前看不是最值,则往后移动,直到可以让缓存值插入后成为最值时停止将缓存值插入到最值位置(即内循环下一个将要移动的位置)。原创 2018-03-19 15:36:39 · 24913 阅读 · 3 评论 -
冒泡法排序算法(C语言实现)
冒泡法排序demo原创 2018-03-19 15:21:03 · 30321 阅读 · 2 评论 -
队列的实现(C语言)
队列实现demo原创 2018-03-28 14:24:41 · 21961 阅读 · 5 评论