動態連結串列的建立(程式碼)
/*** 動態連結串列的建立 ***/
#include<stdio.h>
#include<stdlib.h>
#define ID struct Student
#define LEN sizeof(ID) //該巨集定義為後續結構體的使用提供便捷
ID * creative( int ); //子函式申明
ID
{
int num;
int score;
ID * next;
}; //結構體申明
int main(void)
{
int n;
printf(" Enter the n "
", n = \n"); //printf() 的一種表示方法,C primer plus中介紹
scanf("%d",&n);
printf(" Piease waiting .....\n");
ID * p = creative(n); //p存放返回的首地址
printf(" 現在開始輸出成績 \n");
while( p->next != NULL )
{
printf("%d %d\n", p->num , p->score );
p = p->next;
}
printf("%d %d\n", p->num , p->score );
printf(" OK! \n");
ID * creative( int n )
{
ID * head ,* p; //結構體的指標定義
p = head = (ID *)malloc(LEN); / /申請動態記憶體空間,VC++6.0需要將(void *)強制轉化為(ID *)
scanf("%d,%d", &head->num , &head->score );
while(n-1) //n-1 的原因是因為前面已經有一個節點
{
p->next = (ID *)malloc(LEN);
--n;
scanf("%d,%d", &(p->next)->num , &p->next->score ); //注意兩者區別
p = p->next ;
}
p->next = NULL;
return head; //返回首地址
}
#include<stdio.h>
#include<stdlib.h>
#define ID struct Student
#define LEN sizeof(ID) //該巨集定義為後續結構體的使用提供便捷
ID * creative( int ); //子函式申明
ID
{
int num;
int score;
ID * next;
}; //結構體申明
int main(void)
{
int n;
printf(" Enter the n "
", n = \n"); //printf() 的一種表示方法,C primer plus中介紹
scanf("%d",&n);
printf(" Piease waiting .....\n");
ID * p = creative(n); //p存放返回的首地址
printf(" 現在開始輸出成績 \n");
while( p->next != NULL )
{
printf("%d %d\n", p->num , p->score );
p = p->next;
}
printf("%d %d\n", p->num , p->score );
printf(" OK! \n");
return 0;
}
ID * creative( int n )
{
ID * head ,* p; //結構體的指標定義
p = head = (ID *)malloc(LEN); / /申請動態記憶體空間,VC++6.0需要將(void *)強制轉化為(ID *)
scanf("%d,%d", &head->num , &head->score );
while(n-1) //n-1 的原因是因為前面已經有一個節點
{
p->next = (ID *)malloc(LEN);
--n;
scanf("%d,%d", &(p->next)->num , &p->next->score ); //注意兩者區別
p = p->next ;
}
p->next = NULL;
return head; //返回首地址
}
相關文章
- 資料結構-malloc申請動態空間-連結串列的建立資料結構
- 關於動態連結串列的理解
- 資料結構--單連結串列的建立和遍歷(程式碼優化)資料結構優化
- C++建立連結串列C++
- 【程式碼隨想錄】二、連結串列:2、設計連結串列
- 【程式碼隨想錄】二、連結串列:1、移除連結串列元素
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 動態連結庫(DLL)的建立和使用
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- js動態連結<a>元素程式碼例項JS
- 資料結構實驗之連結串列一:順序建立連結串列資料結構
- js 建立一條通用連結串列JS
- 統計學生資訊(使用動態連結串列完成)
- 雙向連結串列的建立及基本操作
- 建立連結串列兩種方法的區別
- (連結串列)連結串列的排序問題排序
- 程式碼隨想錄:移除連結串列元素
- 程式碼隨想錄:設計連結串列
- 連結串列-雙向連結串列
- 連結串列-迴圈連結串列
- 程式碼隨想錄第3天 | 連結串列 203.移除連結串列元素,707.設計連結串列,206.反轉連結串列
- 寒假專案1-動態連結串列體驗(示例)
- 連結串列面試題(二)---連結串列逆序(連結串列反轉)面試題
- javascript中的連結串列結構—雙向連結串列JavaScript
- 【資料結構】連結串列(單連結串列實現+詳解+原碼)資料結構
- 連結串列4: 迴圈連結串列
- 連結串列-單連結串列實現
- C#資料結構-靜態連結串列C#資料結構
- Linux下的靜態連結與動態連結Linux
- 連結串列操作源程式 (轉)
- 寒假專案1-動態連結串列體驗(改造)(1)
- 寒假專案1-動態連結串列體驗(改造)(2)
- 寒假專案1-動態連結串列體驗(改造)(3)
- 寒假專案1-動態連結串列體驗(改造)(4)
- 寒假專案1-動態連結串列體驗(改造)(5)
- 寒假專案1-動態連結串列體驗(改造)(6)
- 資料結構之單連結串列的建立與刪除資料結構
- 連結串列入門與插入連結串列