原创 數據結構C語言版08

單向鏈表的基本運算 單向鏈表刪除 刪除:即實現即實現Delete(L,x,i),刪除線性表L中第I個元素 第一步:先將ai-1的後繼變爲ai+1的前驅。 第二步:將ai-1的後繼變爲ai+1的前驅. 算法 Status L

原创 數據結構C語言版06

建立單鏈表 - 算法思路:依次讀入表L=(a0,-------an-1)中每一個元素ai(設爲整型),若ai不等於結束符-1,則將ai形成一結點,然後鏈入表尾,最後返回鏈表的頭結點指針H - `link create l

原创 數據結構C語言版07

單向鏈表的基本運算 單向鏈表插入 插入:即實現Insrt(L,x,I),將x插入表中結點ai之前的情(即前插) 第一步:先將q的後繼變爲ai的前驅 第二步:將ai-1的後繼變爲q的前驅 **算法思路:**調用

原创 數據結構C語言版(單鏈表的插入跟刪除)

單鏈表在VC 6.0的環境下運行的代碼如下 #include<stdlib.h> #include<stdio.h> typedef int ElemType; typedef int Status; #define ERROR

原创 數據結構C語言版(棧)

什麼是棧 棧是限定在表尾進行插入或者刪除操作的線性表。 棧分爲棧頂,棧底。對棧來說,表尾端稱爲棧頂。表頭端稱爲棧底。不含元素的空表稱爲空棧。 棧是後進先出的線性表。 棧的抽象數據類型的定義: - InitStack(&s)

原创 數據結構C語言版(棧順序存儲的表示)

棧的順序存儲表示: #define STACK_INIT_SIZE 100//存儲空間的初始分配量 #define STACKINCREMENT 10//存儲空間分配量 typedef struct{ SElemType &

原创 雙向鏈表的插入

雙向鏈表的應用 雙向鏈表的插入 插入:即實現在鏈表L中第I個結點插入元素的運算。 算法思路:調用查找算法Getlist(L,i)獲取結點a1的指針p,若p存在申請一q結點,存入元素x,然後修改指針,將q結點插入p結點之前。

原创 順序表的插入刪除,完整代碼

#include <stdio.h> #include <stdio.h> #include <stdlib.h> //以下爲函數運行結果狀態代碼 #define TRUE 1 #define FALSE

原创 約瑟夫環

線性的應用 約瑟夫環 編號分別爲:1,2,- - - -n,的n個人圍坐在一起,約定序號爲k(0<=1<=n)的人從1開始計數,數到m那個人出列,他的下一位又從1開始計數,數到m的那個人出列,他的下一位又從1開始計數數到m的那