資料結構c語言描述,資料結構(C語言描述)

時間 2021-07-12 17:40:30

1樓:匿名使用者

#include

#include

#include

#define datatype int

#define maxsize 1000

typedef struct nodebitreenode;

datatype bt[maxsize];

bitreenode* buildbtree(datatype bt, int n, int i)

void printlevel(bitreenode * bt, int level, int l)

/* 先序凹入表示法輸出, 一般通過前導的空格來凹入 #*//*pre,sur分別為前導後續字元,一般前導為空格字元,#*/void printtree(bitreenode *bt,char pre,char sur,int depth,int level)

void ctbt(int n)

int main()

printf("\n");

printtree(bt,' ','-',depth,1);

return 0;

}經除錯這個沒問題,完成了要求的三個功能

2樓:西北戰狼

這個我會,可以幫你寫!

資料結構(c語言描述) 線性表實驗

3樓:小欸如是說

#include

#include

#define list_init_size 100

#define listincrement 10

typedef structsqlist;

//sqlist sq;

void initlist_sq(sqlist *sq) //初始化列表

void getelem(sqlist *sq,int i)//獲取第i位置元素的值

int listinsert_sq(sqlist *sq,int i,int a)//在i位置之前插入a

if(sq->length>=sq->listsize)

sq->elem=newbase;

sq->listsize+=listincrement;

}p=&(sq->elem[i-1]);//p指向第i位置的元素

q=&(sq->elem[sq->length-1]);//q指向最後一個元素

for(;q>=p;--q) *(q+1)=*q;

*p=a;

++sq->length;

return 1;

}int listdelete_sq(sqlist *sq,int i) //刪除i位置上的值

--sq->length;

return 1;

}void visit(sqlist *sq)//輸出資料

}void main()

else

}printf("輸出所有元素\n");

visit(sq);

printf("\n");

printf("輸出刪除的位置:");

scanf("%d",&a);

if(boo=listdelete_sq(sq,a))

else

printf("輸出所有元素:\n");

visit(sq);

printf("\n");

printf("輸出要顯示資料的位置:");

scanf("%d",&a);

printf("輸出%d位置數值\n",a);

if(a<0||a>sq->length)

else

}以上是可直接執行的源程式

執行結果:

---申請空間成功---!

初始化空表

輸入資料個數:

3輸入1個資料:3

---插入成功!---

輸入2個資料;8

---插入成功!---

輸入3個資料:5

---插入成功!---

輸出所有元素:3 5 8

輸出刪除的位置:2

---資料刪除成功!---

輸出所有元素;3 8

輸出要顯示資料的位置:2

"輸出2位置數值:8

4樓:凌雲紫冥

真的好簡單。。 是課設麼。62616964757a686964616fe59b9ee7ad9431333264633437。

幫人寫過c++的 參考下下 一點都不會就只好等其他人給你答案了。。

#include

#include

#include

using namespace std;

#define maxsize 100

typedef struct

datatype;

typedef struct

sqlist;

void intput(sqlist &l, int i)

void output(const sqlist &l, int i)

void createlist(sqlist &l, int n) //建表

}void insertlist(sqlist &l, int n) //插入

else

intput(l, n - 1);

++l.last;}}

void deletelist(sqlist &l, int n) //刪除

else

--l.last;}}

void searchlist(const sqlist &l) //查詢

, temp_num[4] = ;

cout << "1.按編號查詢\n2.按名字查詢\n請選擇:";

cin >> choose;

if (choose == 1)

else if (choose == 2)

else

for (int i = 0; i < l.last; ++i)

if (choose == 2 && strcmp(temp_name, l.data[i].name) == 0)

}cout << "沒有這樣的學生資訊" << endl;

}void readlist(const sqlist &l, int n) //讀表元

else

}void printlist(const sqlist &l) //輸出

else}}

int main()

;int choose, n;

while (true)

break;

case 2:

break;

case 3:

break;

case 4: searchlist(l); break;

case 5:

break;

case 6: printlist(l); break;

case 7: exit(0); break;

default: cout << "輸入有誤" << endl; break;

}system("pause");

system("cls");

}return 0;}

5樓:王者之班

#include

#include

#define maxsize 1000

typedef int datatype;

typedef struct nodeseqlist,*pseqlist;

pseqlist init_seqlist(void)

int insert_seqlist(pseqlist seqlistpoint,int i,datatype x)

if(seqlistpoint->length>=maxsize)

if(i<1||i>seqlistpoint->length+1)

for(j=seqlistpoint->length-1;j>=i-1;j--)

seqlistpoint->data[j+1]=seqlistpoint->data[j];

seqlistpoint->data[i-1]=x;

seqlistpoint->length++;

return 1;

}int delete_seq(pseqlist seqlistpoint,int t,int x)

switch(t)

printf("該表中不存在該元素!");

return 0;

case 2:

if(x<1||x>seqlistpoint->length)

for(i=x;ilength;i++)

seqlistpoint->data[i-1]=seqlistpoint->data[i];

seqlistpoint->length--;

printf("你已經成功刪除%d位置的元素\n",x);

break;

default:

break;

}return 0;

}int location_seqlist(pseqlist seqlistpoint,datatype x)

while(ilength&&seqlistpoint->data[i]!=x)

i++;

if(i>=seqlistpoint->length)

return 0;

else

return (i+1);

}int print_seqlist(pseqlist seqlistpoint)

if(!seqlistpoint->length)

printf("表中元素:\n");

for(i=0;ilength;i++)

printf("%d ",seqlistpoint->data[i]);

return 1;

}void destroy_seqlist(pseqlist *seqlistpoint)

int main()

seqlistpoint=init_seqlist();

printf("你已經建立了一個表!\n");

flag++;

break;

case 2:

system("cls");

if(!flag)

printf("請選擇插入位置\n");

printf("[1]直接插入\n");

printf("[2]選擇插入\n");

printf("請輸入運算元:");

scanf("%d",&num);

switch(num)

return 0;

default:

printf("您的輸入有誤!!!");

}printf("\n按enter鍵繼續");

scanf("%c",&ch);

scanf("%c",&ch);

system("cls");}}

程式執行結果截圖如下:

主畫面:

選擇運算元1,建立一個線性表:

按enter鍵繼續,返回主畫面,

選擇運算元2,在表中插入記錄,

選擇插入位置,選擇1,直接插入,

輸入n=5,插入5個記錄,

按enter鍵繼續,返回主畫面,選擇運算元【3】刪除表中的記錄,選擇【1】按元素刪除,輸入刪除的元素55如下,

按enter鍵繼續,返回主畫面,選擇運算元【5】檢視錶中的元素

記錄55已經成功刪除

按enter鍵繼續,返回主畫面,選擇運算元【3】刪除表中的記錄,選擇【1】按元素刪除,輸入刪除的元素22如下,

表中不存在記錄22,所以刪除失敗。

截過圖,貼上不進去,如果你把分給我,我把**和截圖發給你

c語言中資料結構含義,C語言中資料結構含義

資料的邏輯結構 可以理解為陣列的組成,比如一個結構體有三個int變數組成,這個時候可以認為其邏輯組成是有三個int的變數構成的 資料的儲存結構,可以理解為資料在記憶體中得組織方式,比如說陣列一般是連續儲存,連結串列可能是連續儲存也可能是分佈儲存 資料的運算,簡單說就是對資料的操作,是中行為過程 在資...

資料結構C語言,資料結構和C語言有什麼區別?

typedef struct qnode qnode,queueptr 定義兩個新資料型別qnode,queueptr,相當於 typedef struct qnode qnode typedef struct qnode queueptr 使用方法 qnode qdata struct qnode...

c語言裡資料結構的問題,c語言裡資料結構的一個問題。。

1 typedef struct list 這裡的list只是一個起的名字,如int是整形,list 是這個結構體的型別。下面的list就是 int i list就是那個i 2 定義的時候沒有下一個節點,一般都是用 p next null 3 書上一般給的都是偽 在實際寫程式中 自己要結合起來才能執...