1樓:寂夜孤雪聞悲笛
這程式有一個錯誤和一個警告。
錯誤:函式selectsort的定義函式體中,內迴圈for(j=i+1;j<=l->length;i++) //出錯,應將i改為j;
警告:陣列下標最好從0開始: 1.養成習慣2.函式selectsort的排列可以在函式內再定義個datetype t;作為交換,而不是用個全域性變數.
2樓:thomast丶
因為你的排序函式有問題,導致**一直在排序函式中死迴圈,不能執行後邊的輸出。我改了下。
#include
#include
#define maxlen 100
typedef structstu;
typedef stu datatype;
typedef structseqlist;
void creatlist(seqlist *l)else
}printf("請輸入學生學號(int)和成績(float):\n");
for (i = 0; i < n; i++)return;
}/*void selectsort(seqlist *l)}}*/
void selectsort(seqlist *l) }}return;
}void printlist(seqlist *l)return;
}int main()
資料結構實驗,求用c語言編一個二叉排序樹的建立和查詢的程式
3樓:匿名使用者
#include
typedef struct np node;
node *create(void)
node *t(node *a,int d)else if (d>=a->dat)
else if (ddat)
return a;
}void inorder(node *r)}int ser(node *so,int a)int main(int argc, char* argv)fclose(fp);
inorder(bst); /*輸出二叉排序樹*/putchar('\n');
scanf("%d",&i); /*輸入需要查詢的數字*/if (ser(bst,i)) printf("yes"); /*如果找到,則輸出yes,否則輸出no*/
else printf("no");
return 0;
}//-
資料結構C語言氣泡排序問題
修改 for j n 1 j i j e69da5e887aa62616964757a686964616f31333330343162 if r j 1 key key 瞭解一下氣泡排序 bubblesort 的基本概念 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個...
資料結構快速排序問題,C語言資料結構 快速排序的問題
由於你傳遞的l是值傳遞,在快速排序內部出現了一個名字一樣的區域性變數,只是區域性變數被排序了,並不是傳入的變數被排序,可以採用傳地址的方式解決,或者不定義形參,直接採用全域性變數。我使用前者幫你實現了 再者,快速排序 有點問題,幫你修改了下 include include define maxsiz...
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...