#include
#include
typedef int elementtype;
typedef int bool;
#define true 1
#define false 0
inline bool compare(int a,int b,bool flag)
typedef struct lnode
linklist;
linklist * createlist()
r->next = null;
return l;
}void listinsert(linklist * l)
printf("please enter the data to insert:");
scanf("%d",&e);
linklist * p = l;
linklist * s;
s = (linklist *)malloc(sizeof(linklist));
s->data = e;
int i;
for( i = 0;i < position - 1;i++)
p = p->next;
s->next = p->next;
p->next = s;
l->data++; // l的長度增加1
}void listdelete(linklist * l)
linklist * p = l;
linklist * r = p;
int i;
for( i = 0; i < position -1;i++)
p = p->next;
r = p->next;
p->next = r->next;
free(r);
l->data--; //l的長度減小1
}void bubblesort(linklist * l)
pre = pre->next;
p = pre->next;
s = p->next;
}if(!change) break;}}
int findelement(linklist * l)
if( i > l->data)
return -1;
else
return i;
}bool getelement(linklist * l,elementtype * eptr)
else}/*
elementtype * getelement(linklist * l)
else
}bool getelement(linklist * l,elementtype ** eptr)
else}*/
void displaylist(linklist * l)
}void distroylist(linklist * l)
free(pre);
}int main()
printf("\n");
}distroylist(linklist);
return 0;
}/* 寫程式時的一些收穫
1.c語言函式沒有引用傳遞,只能按值傳遞。在函式內的指標操作比c++要複雜。
2.for(int i = 0;i < length;i++) 這種寫法在c89下無法編譯通過。
3.if(length <= 1); if條件語句後多加乙個分號,等同於空語句,編譯器不會報錯。
*/
C語言中的乙個鍊錶!
struct element struct element newelement char name char pwd int add struct element head,struct element ele while head next 0 head next ele return 1 st...
迴圈鍊錶的乙個C 實現
下面是迴圈鍊錶的乙個c 實現,參考了 資料結構與演算法分析c語言版 及不少牛人的分析總結,在此一併感謝了。在vc2005上經反覆驗證試驗,結果非常不錯。這是乙個比較簡易的實現,讓其繼承自單鏈表,並提供了乙個專為解決約瑟夫問題的函式 removeat 以後將會開發乙個更一般性的版本。注意 單鏈表及雙向...
乙個簡單的雙向鍊錶(C 實現)
直接上 親測有用。ifndef dlink h define dlink h phead index0 index1 index2 phead phead index0 index1 index2 phead phead 不儲存資料。index是從0開始的。count index 1 templat...