-
#include ""
#include ""
#define error 0
#define ok 1
typedef int elemtype;
typedef struct lnode{elemtype data;
struct lnode* next;
lnode,*linklist;
鍊表引數使用reference引數,因為鍊表的初始化是從非鍊表到鍊表,空的鍊表要留待以後使用,所以必須使用reference引數。 當然,也可以使用指標引數。
p=(linklist)malloc(sizeof(lnode));
p->next=null;
鍊表引數使用引用引數,這些引數與初始化相同。
init_linklist(p);
lnode* t;
t=p;lnode* s;
for(int i=1;i<=len;i++)s=(linklist)malloc(sizeof(lnode));
s->data=i*10;
s->next=null;
t->next=s;
t=s;void output linklist(linklist p) 鍊表引數採用賦值引數,因為輸出不會更改鍊表結構。
lnode* q=p->next;
int i=1;初始值設定為 1,因為輸出來自第乙個元素。
while(q)
couti++;int main()
linklist p;
int i=30;最好使用 int,它定義長度,而不是資料元素; 或者 typedef int length; length i=30;更好,呵呵。
crt_linklist(p,i);
output_linklist(p);
return 0;
-
crt linklist 函式有問題,因為在 main 函式中,呼叫 crt linklist 函式時實際上是在傳遞乙個值! 你後來的初始化函式 init linklist 和建立鍊表函式 crt linklist 對 p 沒有影響! 這兩個函式的工作只是處理自己的引數,當函式呼叫結束時,一切都再次消失,引數 p 仍然是一樣的。
您可以考慮在 main 函式中更改它,如下所示:
int main()
lnode l;
elemtype i=30;
crt_linklist(&l,i);
output_linklist(&l);
return 0;
這種問題必須自己去解決,我們剛開始學習的時候經常會遇到這種問題,但是只要你去想一想,你就可以把這些問題弄清楚,你可以繼續練習來加深你的理解!
-
你可以先自己除錯一下,我相信你會發現問題所在。
-
1. 線性資料結構
元素之間通常存在一對一的關係,它是最常用的資料結構型別,通常為:陣列、堆疊、佇列和線性表。
2. 樹形結構
節點之間存在層次關係,每一層的乙個節點可以也只能與前一層的乙個節點相關,但也可以與下一層的多個節點相關,這稱為“一對多”關係,常見的型別有:樹和堆。
3.圖形結構
在圖形結構中,允許多個節點相互關聯,稱為多對多關係。
1)線性資料結構:元素之間一般是一對一的關係,這是最常用的資料結構型別,典型的有:陣列、堆疊、佇列和線性表。
2)樹狀結構:節點之間存在層次結構關係,每一層中的乙個節點可以也只能與上一層中的乙個節點相關聯,但同時可以與下一層中的多個節點相關聯,稱為“一對多”關係,常見的型別有:樹、堆。
-
C 是一種通用的計算機程式語言,具有廣泛的應用。 C 旨在提供一種程式語言,該語言可以以簡單的方式進行編譯,處理低階記憶體,生成少量機器程式碼,並且在沒有任何執行時支援的情況下執行。
資料結構是計算機儲存和組織資料的方式。 資料結構是嵌入在乙個或多個特定關係中的資料元素的集合。 通常,精心選擇的資料結構可以提高操作或儲存效率。
資料結構通常與高效的檢索演算法和索引技術相關聯。
區別:資料結構主要是關於資料的理論知識,而C語言是實現資料理論的方式,如對抗渣滓。
-
資料結構是資料和資料之間的關係,而C只是一種可以使用的程式語言。
回到C語言編寫程式,意識到答案資料是按照特定的關係(即實現資料結構)來組織和管理資料的,所以資料結構課程會有不同的語言版本,其實就是用不同的語言來實現資料結構。 呵呵,不知道你懂不懂
-
資料結構是 C 語言的高階應用。
-
C語言是程式設計的語言源,程式語言有很多種。
資料結構是關於某些資料的理論知識。
可以說,無論哪種程式語言都可以利用資料結構的知識,資料結構是程式設計的基礎和核心知識。
你可以把C語言看作是一門語言,那麼資料結構就是一種口語技巧,如何讓你說得更簡潔、更有邏輯、更易於理解,這種表達技巧無論你用中文還是英文都可以用到。
當然,如果你想成為一名優秀的程式設計師,你必須掌握資料結構。
嵌入式軟體專案。
著名的Linux是用C語言實現的,直到今天,Linus也處處反對C++,認為C是最好的語言。 Linux 大概有 80% 是用 C 語言實現的,剩下的 20% 可能是用某種指令碼和組合語言實現的。 C語言比較高效,也適合處理裝置,所以如果想開發乙個驅動,寫乙個底層網路庫,C語言更適合。 >>>More