#include
#include
#include
typedef char elemtype;
typedef int integer;
#define maxsize 10
#define n sizeof(struct node)
typedef struct node
linklist;
//這個是函式是比較字元大小相當於strcmp()
int mystrcmp(char *p,char *q)
} return *(p+i)-*(q+i)>0?1:-1;
} void quicksort(integer object,integer s,integer t) //快速排序的思想
q=l->next;
while(q!=null)
return l;
} linklist * createlistr(linklist *l,integer data,integer n)//表示在頭結點插入資料
q=l->next; while(q!=null) return 0; } int getelem(linklist *l,int i,elemtype &e) if(q==null) //如果找到當前為空 else } int locateelem(linklist *l,elemtype e) if(q==null) //次鍊錶中不含此數字 return 0; return i;//此時i的值就是查詢元素的位置 } linklist *listinsert(linklist *l,int i,elemtype e) if(q==null) //如果為空 說明插入的位置不存在 else temp->data=e; temp->next=q->next; q->next=temp; } return l; } int linklength(linklist *l) //還回煉表中的長度 return length; } void print(linklist *l) } int listdel(linklist *l,int i,elemtype &e) //刪除鍊錶中的值 if(q==null) else return 1; } void listsort(linklist * l) //對鍊錶進行由小到大的排序 p->next=q->next; q->next=p; p=r;//掃瞄單鏈表剩餘的結點 } } } int main() ,i=0; elemtype e,locate; linklist *l; l=(linklist *)malloc(sizeof(linklist)); l->next=null; l=createlistf(l,a,10); //頭插入發鍊錶 putchar(10); getelem(l,2,e); printf("從鍊錶中位於結點第2個值是:%d\n",e); locate=locateelem(l,6); printf("查詢元素< 6 >的位置:%d\n",locate); l=listinsert(l,3,10); print(l); printf("這個鍊錶中的長度:%d\n",linklength(l)); listdel(l,5,e); printf("刪除第5個元素的值是:%d\n",e); printf("對鍊錶進行按公升序,排序後的結果:\n"); listsort(l); print(l); system("pause"); return 0; }
C語言單鏈表常見操作
include include 定義單鏈表結構體 typedef int elemtype typedef struct node lnode,linklist 建立單鏈表 void build linklist l 求單鏈表的長度 void linklength linklist l printf...
C語言 單鏈表各種基本操作
includetypedef struct student node 鍊錶建立 node create else break p next null head head next return head 鍊錶列印 void print node head printf n n 鍊錶測長 int ge...
C語言單鏈表常見操作系列
include include 定義單鏈表結構體 typedef int elemtype typedef struct node lnode,linklist 建立單鏈表 void build linklist l 求單鏈表的長度 void linklength linklist l printf...