C語言簡單排序的問題,求資料結構c語言大神

2021-05-04 18:24:47 字數 1259 閱讀 2724

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...