鍊錶的建立,刪除,插入小型程式。

2021-06-17 14:51:24 字數 1782 閱讀 5507

#include

#include

struct list

;typedef struct list node;

typedef struct list *link;

link head,p,q;

//***********************************=

//建立鍊錶

//***********************************=

void create(int n)

q->next=null;

}//***********************************=

//在x元素前插入資料元素y

//***********************************=

void insert(int x,int y)

else

if(q->data==x)

else

printf("不存在%d這個資料!",x);}}

//***********************************=

//列印函式

//***********************************=

void print()

printf("\n");

}//***********************************=

//刪除函式

//***********************************=

void  delete(int x)}}

//******************************====

//主函式

//******************************====

void main()

case 2:

case 3:

while(z);

break;

}case 4:

}}while(size!=0);}

心得體會:第一:起初把結構體變數,結構體指標,結構體名,自定義結構體變數,自定義結構體變數指標等弄的稀里糊塗,後面通過仔細體會終於知道typedef struct list node;typedef struct *link中struct list 為結構體型別名,node為結構體變數名,*link為結構體指標變數名.其結構相當於typedef int  a 和typedef int *a.要注意:typedef是定義一種型別的別名,而define是定義乙個常量或者變數的別名。

第二:getchar();的使用,getchar()為接收輸入乙個字元,起初自己沒有用getchar();函式,程式直接將\n作為資料的輸入,導致跳過了自己輸入資料來需要繼續刪除資料

資料:

getchar有乙個int型的返回值.當程式呼叫getchar時.程式就等著使用者按鍵.使用者輸入的字元被存放在鍵盤緩衝區中.直到使用者按回車為止(回車字元也放在緩衝區中).當使用者鍵入回車之後,getchar才開始從stdin流中每次讀入乙個字元.getchar函式的返回值是使用者輸入的第乙個字元的ascii碼,如出錯返回-1,且將使用者輸入的字元回顯到螢幕.如使用者在按回車之前輸入了不止乙個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取.也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按

鍵.putchar函式(字元輸出函式)的作用是向終端輸出乙個字元。其一般形式為 putchar(c)

鍊錶建立 插入 刪除

這兩天,拼命理解鍊錶,儘管現在理解還是不夠,但終於把長久以來一直折磨我的鍊錶用c 打出來了。還是有點小小的成就感。以下是 包括鍊錶建立 頭插法和尾插法 插入乙個位置的鍊錶 刪除乙個位置的鍊錶以及整個鍊錶的刪除。define null 0 include using namespace std int...

鍊錶的建立 刪除 插入

1.鍊錶的建立 需要乙個頭指標 結點指標 尾指標即可。這裡值得注意的是,建立的過程頭指標是不能變的,而每次插入乙個節點,尾指標都要後移乙個節點 一開始把尾指標指向頭指標 如建立含有n個結點的鍊錶如下 node create else pend next null ps new node delete...

鍊錶的建立,刪除,插入,

定義結點 結構體型別 定義指向結點的指標變數 必須有頭指標 head,p1,p2 新建結點 malloc函式開闢記憶體 指向如果是第乙個結點,則讓頭指標head指向該結點 若不是第乙個結點,則讓上乙個結點的指標變數指向該結點 最後讓尾結點的指標變數指向null 如 list pre pre next...