考验日期将近,数据结构的复习只看书总感觉略有枯燥,没事就在这里记录一些小算法吧。
线性表是典型的顺序存储结构,所以在计算机内需要一个连续的地址空间,所以数据时必须的。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAX 20
typedef int elemtype;
typedef struct{
elemtype data[MAX];
int length;
}sqlist;
sqlist init(){
sqlist L;
L.length=0;
return L;
}
sqlist create(sqlist L){
int i;
srand((unsigned)time(NULL)); //随机数种子
for(i=0;i<10;i++){
L.data[i]=rand()%100;
L.length++;
}
return L;
}
int main()
{
int i;
sqlist L;
L=init();
L=create(L);
for(i=0;i<L.length;i++){
printf("%d ",L.data[i]);
}
return 0;
}
线性表中存储了10个随机数,注意上面srand(),和rand()的使用方法。计算机的随机数是基于种子的,如果未设置srand,那么默认种子是1,导致每次rand的数值都是相同的,这里让随机数种子随时间变化,就能得到相对意义上的随机数。