B樹建立學生管理系統

2021-07-23 21:13:44 字數 2119 閱讀 6395

功能如下

1. 新增學生

2. 刪除學生

3. 修改學生資訊

4. 獲得學生資訊

5. 獲得所有學生資訊

b樹建立優勢

查詢非常快

2.任何乙個學生只需要查詢幾步(譬如2的32次方的學生,每次只需要32次遍歷)

b樹缺點

1.嚴重浪費空間,有點符合動態規劃的:以空間換時間

#include 

#include

#include

typedef

struct stustu;

typedef

struct nodebitree;

bitree* init()

void binary(int x,int b)

while(x!=0)

i=31;

while(j<=i)

}void creat(bitree *root,int id)else

}else

if(b[i]==1)else}}

bt->id=id;

bt->info=(stu*)malloc(sizeof(stu));

printf("\n\t\t\tplease input the name:");

scanf("%s",bt->info->name);

}bitree* getnode(bitree *root,int id)

for (int i = 0; i < 32; ++i)

if(b[i]==0)

}else

if(b[i]==1)}}

return bt;

}int main()

else

if(a[studentid]==1)

break;

case

2: printf("\n\t\t\tplease input the studentid you want del:");

scanf("%d",&studentid);

binary(studentid,b);

stu=getnode(root,studentid);

if(stu==null)

pre=stu->pre;

if(b[31]==0)else

free(stu);

a[studentid]=0;

printf("\n\t\t\tdel success");

break;

case

3: printf("\n\t\t\tplease input the studentid you want modify:");

scanf("%d",&studentid);

stu=getnode(root,studentid);

if(stu==null)

printf("\n\t\t\tid: %d,name: %s",stu->id,stu->info->name);

printf("\n\t\t\tplease input the new name:");

scanf("%s",stu->info->name);

printf("\n\t\t\tmodify success!");

break;

case

4: printf("\n\t\t\tplease input the studentid you want search:");

scanf("%d",&studentid);

stu=getnode(root,studentid);

if(stu==null)

printf("\n\t\t\tid: %d,name: %s",stu->id,stu->info->name);

break;

case

5: for(int i=0;i<1000;i++)

}break;}}

return

0;}

MySql操作命令建立學生管理系統

1.建立學生管理系統資料庫xscj create detabase 資料庫名 2.開啟資料庫 use 資料庫名 建立資料庫之後,該資料庫不會自動成為當前資料庫需要用use來指定 3.建立表名 4.在表xs中增加 獎學金等級 列 並刪除表中的 姓名 列 alter table 表名 add 列名 dr...

使用類建立鍊錶建立學生管理系統

在學生管理系統中經常需要使用陣列來進行物件的儲存,對於一些直觀的問題,陣列確實能夠大致的解決,但是陣列卻不能夠很好判斷越界問題以及對於資料成員數量的計算,而鍊錶能很好地解決這些問題。ps 因為學生管理系統可能還需派生出其他的人員,所以使用繼承 class date char getname cons...

學生管理系統

include stdio.h include include include struct student void print void void display struct student head struct student creat q next null display head ...