C语言算法
JzjSunshine
这个作者很懒,什么都没留下…
展开
-
选择排序和冒泡排序
选择排序和冒泡排序复习基础算法,同时作为备忘录这个算法首先假定最大最小的元素,需要三个变量表示元素的下标,分别表示当前,最大/小,每次循环最大/小。按照这个思想写出代码选择排序:#include<stdio.h>void main(){ int a[10]; int i,j,w; printf("请输入10个数字: \n&qu原创 2018-08-23 16:06:05 · 133 阅读 · 0 评论 -
2.3线性表的链式存储结构(链表生成:先入先/后出)
数据结构学习笔记(二)2.3.1单链表1.单链表的一般形式知道一个概念 头结点和首节点头结点其中没有数据,首节点作为数据域的一部分如图所示建立链表的代码struct node{ ElemType data; struct node *next;};//使用typedef定义指针类型typedef struct node{ El...原创 2018-10-24 23:40:45 · 429 阅读 · 0 评论 -
建立先进先出和先进后出链表
链表学习笔记(二)一.先入先出生成单链表1.生成新节点 p=malloc(链表大小)给新节点赋值 p->data ,p->next =NULL;2.添加到表尾 tail->next = p;3.设置新表尾 tail = p;类C语言描述struct node...原创 2018-09-29 14:41:38 · 3454 阅读 · 0 评论 -
C语言qsort和C++sort用法详解
文章末尾连接地址作者写的非常好,作为笔记收藏在此同时贴出在牛客刷题代码实例题目描述有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息。输入描述:测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据。每个学生的数据包括姓名(长度不超过1...原创 2018-10-13 18:41:42 · 161 阅读 · 0 评论 -
C语言应用结构体排序的方法
问题来源于成绩统计,名次排序1.定义一个结构体typedef struct Stu{char name[10];int id;int score;}stu;2.定义排序(回调)函数:/*定义排序函数*/int cmp(const void *a,const void *b){ stu c = *(stu*)a; stu d = *(stu*)b; ...转载 2018-10-13 16:23:15 · 16435 阅读 · 0 评论 -
二叉树遍历(先序遍历,中序遍历,后序遍历)
数据结构学习笔记一.先序遍历先序遍历二叉树递归定义if(二叉树为空)遍历结束;else访问根节点,先序遍历根的左子树,先序遍历根的右子树基于二叉链表------typedef struct BiNode *BiTree; //节点指针类型status PreOrderTraverse(BiNode T,status(*visit)(TElemType &...原创 2018-09-25 20:57:40 · 244 阅读 · 0 评论 -
动态规划入门
一.01背包搜索问题描述:有n个重量和价值分别为 wi,vi 的物品。从这些物品中挑选出总重量不超过MaxValue的物品,求所有挑选方案中价值总和的最大值。限制条件:1 <= n <= 1001 <= wi, vi <= 1001 <= MaxValue <= 10000 输入:42 31 ...转载 2018-09-13 17:06:53 · 124 阅读 · 0 评论 -
C语言 二维数组(指针)动态分配和释放
C 二维数组(指针)动态分配和释放(1)已知二维char (*a)[N]; //指向数组的指针a = (char (*)[N])malloc(sizeof(char *) * m);printf("%d\n", sizeof(a)); //4,指针printf("%d\n", sizeof(a[0]));//N,一维数组free(a);(2)已知第...转载 2018-09-10 21:07:00 · 3761 阅读 · 0 评论 -
幸运的袋子(深度优先遍历(Depth First Search,DFS))
题目描述一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你...转载 2018-09-16 19:16:18 · 251 阅读 · 0 评论 -
迪杰斯特拉算法实例演示(Dijkstra)
一.题目(牛客)题目描述:旅行者的地图给出了高速公路沿线城市之间的距离以及每条高速公路的成本。现在你应该写一个程序来帮助旅行者决定他/她的起始城市和目的地之间的最短路径。如果这样的最短路径不是唯一的,那么您应该输出具有最小成本的路径,这保证是唯一的。每个输入文件包含一个测试用例。每个案例都以包含4个正整数N,M,S和D的行开头,其中N(&lt;= 500)是城市的数量(因此城市的编号...原创 2019-01-30 17:01:18 · 2209 阅读 · 0 评论