C語言程式設計

時間 2022-05-16 20:10:08

1樓:匿名使用者

#include

#include

#include

typedef int elemtype;

typedef struct dulnode    //定義結點型別

dulnode, *dulinklist;

dulinklist  initlist()   //初始化雙向連結串列

//初始化了一個空表

void createlist(dulinklist *l) //尾插法生成雙向連結串列

t ->next= null;

/*(*l)->prior = t->prior;

t->prior->next = (*l);*/

}void print_list(dulinklist l)

//通過連結串列的遍歷來輸出連結串列中的資訊

//printf("-> %d\n", p->data);

printf("\n雙向連結串列的長度為 %d\n\n", i);}/*

一趟快速排序的具體做法是:附設兩個指標low和high(即第一個和最後一個指標),

他們的初值分別為low和high設樞軸(一般為low的值pivot)記錄的關鍵字

(即本例子中的整形data)為pivot,則首先從high所指位置

起向前搜尋到第一個關鍵字小於pivot的記錄和樞軸記錄交換,然後從low所指位置起

向後搜尋,找到第一個關鍵字大於pivot的記錄和樞軸記錄相互交換,重複這兩步直

至low = high為止。

*/dulinklist  partion(dulinklist psthead, dulinklist pstlow, dulinklist psthigh)

if (!psthead->next)

pivot = pstlow->data;

while (pstlow != psthigh)

//交換high low

itmp = pstlow->data;

pstlow->data = psthigh->data;

psthigh->data = itmp;

//從前往後換

while (pstlow != psthigh && pstlow->data <= pivot)

//交換high low

itmp = pstlow->data;

pstlow->data = psthigh->data;

psthigh->data = itmp;

}return pstlow;

}//快排

void quick_sort(dulinklist psthead, dulinklist pstlow, dulinklist psthigh)

if (psthigh != psttmp)

}void main()

quick_sort(h, h->next, last->prior);

print_list(h);}

2樓:揭戈雅

c語言 雙向連結串列 **提供

c語言程式設計,c語言 程式設計

陣列的下標是從0開始的 假如陣列a裡有三個元素,這三個元素可以表示成a 0 a 1 a 2 陣列的大小是根據你定義時確定下來的 有3中定義方法 1 int a 100 2 int a new int 100 3 int a 第一種定義直接給他分配了100個空間的記憶體,第二個也是,第三個是根據後面陣...

C語言程式設計,c語言程式設計

一分鐘讀懂。c語言程式設計。c語言程式設計 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。c語言程式設計 a 由0x開頭,後跟0 9,a f的是十六進位制整數。0x3al是十六進位制數,等於十進位制的 56,其中l表示長整形,a正確。b 由數字0開頭,...

C語言程式設計,c語言程式設計

程式的執行結果是a 14。逗號表示式的結果是最後一個逗號後面的表示式的值。你的問題中a 3 5,a 4 實際上等效於a a 4 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。a 0 從右往左開始運算。n n 2 n 7 2 n 1 n 0 a a a ...