自己用C語言結構體實現乙個環形鍊錶(增刪查改)

2021-08-18 02:42:09 字數 2441 閱讀 3980

環形鍊錶.h

#include#includetypedef struct linknode

node, *pnode;//node結構體變數,pnode代表乙個指標指向結構體

pnode addback(pnode phead, int data);//尾部插入

pnode addfront(pnode phead, int data);

pnode changedata(pnode phead, int data, int newdata);

pnode deletedata(pnode phead, int data);//刪除

pnode insertback(pnode phead, int data, int newdata);

pnode inserthead(pnode phead, int data, int newdata);

pnode findfirst(pnode phead, int data);//查詢的資料

void showall(pnode phead);

環形鍊錶.c

#include"環形鍊錶.h"

pnode addback(pnode phead, int data)//尾部插入

else

p->pnext = pnew;//連線上新的

pnew->pnext = phead;//鏈道開頭

} return phead;

}pnode addfront(pnode phead, int data) //頭部插入

else

p->pnext = pnew;

pnew->pnext = phead;

phead = pnew;

} return phead; }

void showall(pnode phead) //展示

else if (phead->pnext==phead)

else

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

}pnode findfirst(pnode phead, int data)//查詢

else if(phead->pnext==phead)

else

}else

p = p->pnext;//迴圈

} if (p->data==data)

return null; }}

pnode deletedata(pnode phead, int data)//刪除

p1->pnext = phead->pnext;

free(p2);

phead = p1->pnext;

return phead;

} else

else

}if (p1->data==data)

} }pnode changedata(pnode phead, int data,int newdata) //修改

else if (phead->pnext == phead)

else

} else

p = p->pnext;

} if (p->data == data)

} return phead;

}pnode insertback(pnode phead, int data,int newdata) //後插

} else

else

}if (p->data == data)

} }pnode inserthead(pnode phead, int data, int newdata)//前插

}else

p->pnext = pnew;

pnew->pnext = phead;

phead = pnew;

return phead;

} else

else

}if (p1->data == data)

}

}}

main.c

#include"環形鍊錶.h"

void main()

phead = addfront(phead, 11);

phead= changedata(phead, 8,12);

phead = deletedata(phead, 12);

phead = insertback(phead, 7,12);

phead = inserthead(phead, 11, 99);

phead = inserthead(phead, 99, 100);

phead = inserthead(phead, 9, 101);

showall(phead);

system("pause");

}

用結構體實現乙個電話本

結構體是c語言又乙個儲存資料的型別,那麼用結構體怎麼實現乙個簡單的可以儲存1000個人資訊的 本呢?一.首先需要定義乙個結構體,包含乙個人的資訊 比如姓名,性別,年齡,住址等等 我們先來定義乙個結構體。typedef struct pdhb info pdhb info 二.需要儲存1000個人的資...

C語言自己手動實現乙個棧

include include define stack init size 100 儲存空間的初始分配 define stack increment 10 儲存空間分配增量 typedef structstack void init stack stack s 構造乙個空棧 void destro...

資料結構 用C語言實現乙個佇列

只允許在一端進行插入資料操作,在另一端進行刪除資料操作的特殊線性表。佇列具有先進先出fifo first in first out 入佇列 進行插入操作的一端稱為隊尾。出佇列 進行刪除操作的一端稱為隊頭。佇列可以以鍊錶和陣列的結構實現,使用鍊錶的結構更具有優勢,因為使用陣列的結構,在出佇列的時候效率...