線性表的初始化

考驗日期將近,數據結構的複習只看書總感覺略有枯燥,沒事就在這裏記錄一些小算法吧。

線性表是典型的順序存儲結構,所以在計算機內需要一個連續的地址空間,所以數據時必須的。

#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的數值都是相同的,這裏讓隨機數種子隨時間變化,就能得到相對意義上的隨機數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章