摘要:
View Code #include<iostream>using namespace std;int n;float c;float bestv=0;float backknap(float w[],float v[],int bestx[],int x[],float sw,float sv,int t){ int j; float r; //剩余物品的总价值 if(t>=n){ if(sv>bestv){ //如果解比当前解更优 bestv=sv; fo... 阅读全文
摘要:
以下是C++类模版,存起来,以后想用,修改下就OKView Code template<class T>struct Node{ T data; //数据域,存放表元素 Node *next; //指针域,指向下一个节点};template<class T>class LinkList{private: Node<T>*Head;public: LinkList(); //构造函数 ~LinkList(); ... 阅读全文
摘要:
View Code #ifndef QUEUE_H#define QUEUE_H#include <cassert>//类模版的定义template<class T,int SIZE=50> //size是队列能容纳的个数class Queue{private: int front,rear,count; //队头指针,队尾指针,元素个数 T list[SIZE]; //队列的元素数组public: Queue(); //构造函数,初始化队头... 阅读全文
摘要:
优先调度中,优先级为100-needtime,没执行一次,优先级将5轮转调度的时间片为2View Code #include<iostream>using namespace std;#include "string.h"typedef struct node{ char name[10]; //进程的名称 int prio; //进程的优先级 int round; //CPU的时间片 int cputime; //进程占用CPU时间 int needtime; //进程到完成还要的时间* int count; //计数器 char state; //... 阅读全文
摘要:
View Code #include<iostream>using namespace std;#define N 100int x[N];//x[i]存储当前i节点的颜色种类 int a[N][N];//存储各个顶点之间的连接情况 int sum=0;//记录有多少种涂色方案 bool OK(int k,int n){ for(int j=1;j<=n;j++) if(a[k][j]==1&&x[j]==x[k])//如果找到一个与预想把K节点涂色为x[k]的相连节点,且该节点也涂色为x[k],则涂色失败 return false; retu... 阅读全文
摘要:
View Code #include<iostream>using namespace std;const int n=4;//如果没const,传参将失败 void fv(int (&f)[n][n]){//也可以直接 //或者 ,最主要是让二维数组的长度固定,如果不固定,编译器将无法肯定的确定传给函数的二维数组到底有多长 //void fv(int f[n][n]){ for(int i=0;i<4;i++) for(int j=0;j<4;j++) cout<<f[i][j]<<endl;}int main(){ int f[n][ 阅读全文
摘要:
View Code #include<iostream>using namespace std;struct Object{ float w; float v; float w_v; int order; //物品的序号 float x;//是否放入背包,整个放入是1,一部分放入是放入的部分与总的比值,没放入为0 };Object object[100];int compare( const void *a , const void *b ) { Object *aa=(Object *)a; Object *bb=(Object... 阅读全文
摘要:
View Code #include<iostream>using namespace std;#define max 100 float d[max];//m台机器的空闲时间存储在d[m]中int s[max][max];//把第j个作业放到第i太机器上去运行 typedef struct homework{//数据结构来存储作业信息 int ID; float time; }hw;typedef struct m{//快结构体的因为是把在改机器的作业存起来 int number;//记录存储在改机器的作业个数 int ma[max]; float time... 阅读全文
摘要:
View Code #include<iostream>using namespace std;#define maxn 100int huffTreeN;//树中的节点个数初始化为nint i1=1,i2=2;struct element{//存储字符 double weight;//字符出现的概率为实数,次程序为了简便,不计算其概率,而直接用其出现的次数代替 int lchild;//该节点的左孩子在huffTree[]数组中的下标 int rchild;//该节点的右孩子在huffTree[]数组中的下标 int parent; //该节点的双亲节点在hu... 阅读全文
摘要:
Prim算法设G=(V,E)是连通图,V={1,2,......,n}构造G的最小生成树的Prim算法的基本思想是:首先置S={1},然后,只要S是V的真子集,就坐如下的贪心选择:选取满足条件i属于S,j属于V-S,且c[i][j]最小边,并将顶点j添加到S中。这个过程一直进行到S=V时为止View Code #include<iostream>using namespace std;#define max 100float c[max][max];//存放i,j的权值float lowcost[max];//lowcost[v]存放未放入生成树的一个顶点v到生成树所有顶点的最短边 阅读全文