你們的每一次瀏覽都是我堅持寫下去的動力c語言的資料型別包括基本資料型別、構造型據型別指標型別和無型別;基本資料型別有整型、實型、字元型、列舉;構造資料型別包括陣列、結構體、公用體;結構體可以有基本資料型別與指標型別組合而來,主要用來表示鍊錶、棧、樹等較為複雜的資料物件。
簡單講,在函式體內定義的叫做區域性變數,包括主函式,在函式體外定義的即為全域性變數;全域性變數的特點有一下幾點
int e=10; //全域性變數
int main()
// 10 20
程式執行介面比較簡單,我覺得重在演算法的理解
#include#includetypedef struct lnode
lnode;
lnode *head;
int n;
//建立鍊錶並輸入元素
void create()
p=head; //將頭結點的位址賦給p,用p代替head,因為鍊錶為空時,頭結點也是最後乙個結點
printf("請輸入元素!\n");
for(int i = 0;;i++)
scanf("%c",&e);
n++; //更新鍊錶元素個數
p->next=p_new;//將新結點的位址賦給最後乙個結點的指標域
p->date=e; //將從鍵盤輸入的元素e存放到上個結點的資料域
p_new->next=null;
p=p_new; //使p重新指向最後乙個結點
if(getchar()=='\n')
}free(p); //上面**執行完畢後,實際上最後乙個結點是空的,因為資料都是存放在倒數第二個結點的資料域(p->date=e),因此應該釋放最後乙個結點占用的記憶體空間
}//顯示鍊錶中所有元素
void output()
printf("\n");
}//插入元素e到首、尾、第i個元素後面
void insert_i()
printf("請輸入位置i和元素e:\n");
scanf("%d",&t);
getchar();
scanf("%c",&e);
//插入到表頭
if(t==0)
//插入到表尾
else if(t==n)
p_new=p;
p_new->date=e;
p_new->next=null;
n++;
}//插入到某個元素的後面
else
p_new->next=p->next;
p->next=p_new;
p_new->date=e;
n++;
}}//刪除指定元素
void delete()
else
e=p->next->date;
p->next=p->next->next;
n--;
}free(p);
}//選單
void menu()
int main()}}
return 0;
}
資料結構實驗 鍊錶的基本操作
include 2 1儲存結構 typedef struct lnode lnode,linklist 2 2建立乙個長度為n的鍊錶 前插法 void creatlist h linklist l,int n 前插法建立單鏈表 2 2建立乙個長度為n的鍊錶 尾插法 void creatlist r ...
鍊錶的基本操作
include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...
鍊錶的基本操作
鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...