#include <stdlib.h>
#include "time.h"
int main(int argv,char *argc[]){
double x[10]={0.0,}
int i
srand((unsigned)time(NULL))
while(rand()%10000!=0){//
for(i=0i<9x[i++]=x[i+1])
x[9]=rand()/32767.0*100000//模拟采集数据
}
for(i=0i<10printf("%10.3f\n",x[i++]))//输出最后10个数
return 0
}
运行样例:
这个程序是实现将一个二叉树安装左序优先的顺序存放在一个顺序数组中void level(const tree *tp){ //tp指针给定一个二叉树根节点
Node *queue[8]//保存各节点指针的顺序数组, 程序中默认节点数小于8
int front,rear//当前处理节点位置和当前保存节点位置
front=rear=0//当前queue中没有待处理节点
queue[rear++]=*tp//根节点指针存放到queue[0]位置
while(front<rear){ //如果数组中仍有待处理节点则继续循环,结束循环:二叉树节点均处理完毕
printf("%c",queue[front]->data)//输出正在处理的节点数据内容
if(queue[front]->lchild ) //如果当前节点有左侧子节点
queue[rear++]=queue[front]->lchild//将有效左侧子节点存入数组
if(queue[front]->rchild ) //如果当前节点有右侧子节点
queue[rear++]=queue[front]->rchild//将这个有效的右侧子节点存入数组
front++//处理下一个待处理节点(肯定是前面节点的子节点,左侧子节点存放在前)
}
}