考驗日期將近,數據結構的複習只看書總感覺略有枯燥,沒事就在這裏記錄一些小算法吧。
線性表是典型的順序存儲結構,所以在計算機內需要一個連續的地址空間,所以數據時必須的。
#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的數值都是相同的,這裏讓隨機數種子隨時間變化,就能得到相對意義上的隨機數。