关于结构体嵌套的问题!!求指教!!!!!!!!!!!
// Genetic Algorithm.cpp : Defines the entry point for the console application.//
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
#include "time.h"
#include "malloc.h"
//定义虚拟机请求
void main()
{
typedef struct Virtual
{
int num;
int power;
int quetime;
}jiegou;
jiegou xuni[31]={0};
struct wuliji
{
jiegou ji[10];//在wuliji中的该结构提最大能够进行存储10各结构体
int powersum;
struct wuliji *link;
}wulimather={NULL,0,NULL};
int i,j;
int huan;
wuliji *s,*font,*t;
t=&wulimather;//用于进行链式的搜索
font=&wulimather;//用于进行链式的建立,用于进行新申请jiegou该结构的结构体
int index=0;//用于进行wuliji内部jiegou的循环查找
//用于生成结构体
srand( (unsigned int)time( NULL ) );
for(i=1; i<31; i++)
{
int time;
if(i<=10)
time=100;
else if(i>10&&i<=20)
time=200;
else if(i>20&&i<=30)
time=300;
xuni[i].num=i;
xuni[i].power=rand()%100+1;
xuni[i].quetime=time;
}
//进行排序,升序
for(i=0;i<=30;i++)
{
for(j=0;j<=30;j++)
{
if(xuni[i].quetime<xuni[j].quetime)
{
huan=xuni[i].quetime;
xuni[i].quetime=xuni[j].quetime;
xuni[j].quetime=huan;
}
}
}
//进行装箱操作,将jiegou的结构体进行加载到wuliji结构体中
在这里不能进行链表的操作不能进行赋值,不知道是怎么回事,求指教!!!!!!!!!!!!!?????
for(i=1;i<=30;i++)
{
if(i==1)
{
font->ji[index]=xuni[i];
font->powersum=xuni[i].power;
index++;
}
else
{
if((font->powersum+xuni[i].power)<100&&index<10)
{
font->ji[index]=xuni[i];
font->powersum=xuni[i].power+font->powersum;
index++;
}
else
{
s=(struct wuliji *)malloc(sizeof(struct wuliji));
font->link=s;
font=s;
index=0;
// wulimather=s;
}
}
}
//排序完成,以下可以进行输出各虚拟机的值
for(i=1;i<=30;i++)
{
printf("虚拟机号为:%d\n",xuni[i].num);
printf("该虚拟机的能耗为:%d\n",xuni[i].power);
printf("该虚拟机的时间请求为:%d\n",xuni[i].quetime);
}
//输出的时候程序一直崩溃!!!!!!!!!!!!!!!!!??????????
while(t!=NULL)
{
for(i=0;t->ji[i].num!=NULL;i++)
// printf("所包含的物理机有%d\n",wulijimather[i].ji[i].num);
{
printf("物理机power%d\n",t[i].powersum);
t=t->link;
}
}
}
求大神指教,程序改怎么改啊??????????????????
我想让jiegou这个结构体中的成员进行加载到wuliji这个结构体中,希望用链表实现???????????????