C语言+算法设计
Young_and_Cold
这个作者很懒,什么都没留下…
展开
-
算法设计-用递归方法实现选择排序 C代码
#include<stdio.h>#include<stdlib.h>#define N 10 void SelectionSort(int* a,int n,int i){ if(i>=n-1) { return; } else{ int temp,j; temp=i; ...原创 2019-03-14 18:55:59 · 3490 阅读 · 0 评论 -
算法设计-解最短路径问题 C代码
主要功能:解最短路径问题#include<stdio.h> #define SIZE 110 #define INF 1000000; int map[SIZE][SIZE]; //邻接矩阵存储 int len[SIZE]; //d[i]表示源点到i这个点的距离 int visit[SIZE]; //节点是否被访问 int n,m; int di...原创 2019-03-15 09:07:31 · 572 阅读 · 0 评论 -
算法设计-递归法解背包问题 C代码
主要功能:递归法解背包问题#include<stdio.h> int maxNum[6]; //存放最优解的编号 int maxValue=0; //存放最大价值 int w[6] = {0,2,2,6,5,4};//每个物品的重量,第一个为0,方便角标对应 int v[6] = {0,6,3,5,4,6};//每个物品的价值,第一个为0,方便角标对应 i...原创 2019-03-15 09:05:22 · 678 阅读 · 0 评论 -
算法设计-动态规划法解背包问题 C代码
主要功能:动态规划法解背包问题#include<stdio.h> int f[10][100]; //构造最优矩阵 void package0_1(int *w,int *v,int n,int c) { int i,j; //初始化矩阵 for(i=1;i<=n;i++) f[i][0] = 0; ...原创 2019-03-15 09:03:52 · 453 阅读 · 0 评论 -
算法设计-动态规划法解最长公共子序列问题 C代码
主要功能:动态规划法解最长公共子序列问题#include<stdio.h> #include<string.h> char a[101],b[101]; char num[102][102];//记录中间结果的数组 //动态规划采用二维数组来标识中间计算结果,避免重复的计算来提高效率void LCS(int lena,int lenb){ fo...原创 2019-03-15 09:01:37 · 1601 阅读 · 1 评论 -
算法设计-递归法解最长公共子序列问题 C代码
主要功能:递归法解最长公共子序列问题#include<stdio.h>#include<string.h>/*递归思路: 当数组a和b对应位置字符相同时,则直接求解下一个位置; 否则,取两种情况中的较大数值。 */char a[101],b[101];//定义字符串数组int lena,lenb,lenz=0;int maxlong(int ...原创 2019-03-15 08:59:43 · 1037 阅读 · 1 评论 -
算法设计-实现运动员比赛日程表 C代码
主要功能:实现运动员比赛日程表. *算法思想:按分治策略,将所有选手对分为2组,n个选手的比赛日程就可以通过n/2个选手比赛日程表来决定#include <stdio.h> #include <math.h> #include <windows.h> const int MAX=1024;int a[MAX][MAX];...原创 2019-03-15 08:56:11 · 1648 阅读 · 1 评论 -
算法设计-实现快速排序 C代码
主要功能:实现快速排序法.#include <stdio.h>void quick_sort( int *a, int n){ int i, j, p, tmp; if (n < 2) return; p = a[n / 2]; for ( i = 0, j = n -1;; i++, j--) { while (a[...原创 2019-03-15 08:46:12 · 321 阅读 · 0 评论 -
算法设计-测评选择排序和归并排序算法的运行效率 C代码
测评选择排序和归并排序算法的运行效率#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#define MAX 65536*2//选择排序void SelectSort原创 2019-03-14 19:08:24 · 451 阅读 · 0 评论 -
算法设计-自底向上合并排序法 (非递归) C代码
自底向上合并排序法 (非递归)#include <stdio.h>#include <stdlib.h>#define LEN 10// merge_sort(): 非递归实现-自底向上// 将原数组划分为left[min...max] 和 right[min...max]两部分void BottomUpSort(int *list, int length)...原创 2019-03-14 19:05:01 · 1181 阅读 · 0 评论 -
算法设计-插入排序法 C代码
主要功能:插入排序法.#include <stdio.h> #include <stdlib.h> //插入排序 void InsertSort(int *a,int len); //输出数组中的元素 void OutputArray(int *a, int len); int main() { int a[10] = {2, 9, ...原创 2019-03-14 19:01:31 · 307 阅读 · 0 评论 -
算法设计-用选择排序按从小到大的顺序排列数 C代码
主要功能:用选择排序按从小到大的顺序排列数#include <stdio.h>#define N 10void SelectionSort(int *a,int n){ int i,j,temp; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(...原创 2019-03-14 18:58:48 · 3450 阅读 · 1 评论 -
算法设计-解图三着色问题 C代码
主要功能:解图三着色问题#include <stdio.h>int n,m;//顶点数,可用颜色数int a[100][100];//图的邻接矩阵int x[100];//当前解int sum=0;//找到的找色方案void input(){ printf("输入顶点数n和着色数m:\n"); scanf("%d %d",&n,&am原创 2019-03-15 09:09:31 · 3970 阅读 · 3 评论