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)
建表
插入
else
intput(l, n - 1);
++l.last;}}
刪除
else
--l.last;}}
查詢
, 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;
讀表元
else
輸出
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語言資料結構 快速排序的問題
將 放在變數名後,是先使用變數的值,再執行自加 自減 開始時i為左邊界,j為右邊界 以x s i 為中回間答值,將小於x的值放在左邊,大於x的值放在右邊找到大於x的值將其放在s j 中,j j 1,找到小於x的值將其放在s i 中,i i 1,直到所有數值按兩邊放好。依次在區間n,n 2,n 4,2...
資料結構C語言
其實這個是跟a與b大小的定義有關係,a與b相等的情況比較好判斷,所有元素都相等那麼就相等了。但是什麼情況下a比b大?通常的定義是根據a與b第一個不相等的元素來判斷。考慮字串的情況可以做類比,比如兩個字串 abcd 與 abce 其實可以看做是兩個順序表 a a b c d b a b c e 那麼我...
c語言資料結構賦值問題,c語言版資料結構問題?
對應的結構體指標,那麼函式要定義成void initstack struct snode l 還有這程式有錯,傳進來的l只是副本,他的改變不影響到實參。應該用指標引數型別或引用型別。include include struct snode main int initstack struct snod...