c語言的數據結構
『壹』 c語言與數據結構
要學數據結構的話,最起碼要先學會一門語言。。。所以,學C語言的語法結構的時候是不用學數據結構,等你掌握了C的語法後,再學C語言版的數據結構(總覺得數據結構只是一種思想,不管用什麼語言描述,內涵都是一樣的),學完數據結構後,再回頭看看以前學過的C語言,能寫出更好的程序。
『貳』 c語言,數據結構
你那個*LinkList是結構體指針類型;注意他是類型;不是變數;
然後下面的那個L,即LinkList L 這個L是個變數,是個結構體指針變數;
等同於 struct LNode *L ;
『叄』 用C語言寫的數據結構的定義
在C語言中,結構體(struct)指的是一種數據結構,是C語言中聚合數據類型(aggregate data type)的一類。結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。
在C語言中,定義一個結構的一般形式為:
struct結構名
{
//成員表列
};
成員表由若干個成員組成, 每個成員都是該結構的一個組成部分。對每個成員也必須作類型說明,其形式為:「類型說明符 成員名;」。成員名的命名應符合標識符的書寫規定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
在這個結構定義中,結構名為stu,該結構由4個成員組成。 第一個成員為num,整型變數;第二個成員為name,字元型數組;第三個成員為sex,字元型變數;第四個成員為score,浮點型變數。 應注意在括弧後的分號是必不可少的。
然後,當結構定義完成後,即創建了一種數據類型,可以像int、float等內置類型一樣使用,以上面定義的stu結構體來和int類型對比著看。
int a;//定義一個int類型的變數a
stu a; //定義一個stu類型的變數a
int *p; //定義一個int類型的指針p
stu *p; //定義一個stu類型的指針p
int a[10];//定義一個int類型的數組a,它有10個元素,每個元素是int類型
stu a[10];//定義一個stu類型的數組a,它有10個元素,每個元素是stu類型。
『肆』 c語言的數據結構是什麼
根據你的問題,我想一種計算機語言的數據結構,是指這種語言系統所提供的,在程序中存儲數據可以使用的基本數據組織形式。C語言的基本數據結構除了各種數據類型的簡單變數外,主要的就是數組、結構、聯合。
『伍』 c語言數據結構
#include<stdio.h>
#include<malloc.h>
#include<string.h>
struct student{ int age; char name[10]; struct student *next; } ;
void main() { struct student *p,*p1,*p2;
p1=(struct student *)malloc(sizeof(struct student)); if ( p1==NULL ) goto errorexit0;
strcpy(p1->name,"張三"); p1->age=30; p1->next=NULL;
p2=(struct student *)malloc(sizeof(struct student)); if ( p2==NULL ) goto errorexit1;
strcpy(p1->name,"李四"); p2->age=40; p2->next=NULL;
p=p1; p->next=p2;
printf("%s %s\n",p->name,(p->next)->name);
free(p1); free(p2); return;
errorexit1: free(p1); printf("申請節點2出錯。\n");
errorexit0: printf("申請節點1出錯。\n");
}
『陸』 數據結構和C語言有什麼區別
數據結構是數據及數據之間的關系,C語言只是一門編程語言,可以用C語言來寫程序,實現數據按照某種特定的關系來組織和管理數據(也就是實現數據結構),所以數據結構的課程會有不同的語言版本,其實就是用不同的語言來實現數據結構了。呵呵,不知道你明白沒有呢~~
『柒』 c語言的數據結構
你真有意思,什麼叫C語言的數據結構?數據結構是所有語言所共有的好吧!就像你說話想表達一個意思一樣,你可以用漢語說,也可以用日語說,還可以用英語說。
簡單的說,數據結構分兩個部分:
存儲表示和抽象表示。存儲表示就是元素在內存中的真實物理表示。抽象表示就是忽略元素的存儲表示,只研究它的抽象屬性。比如說表,抽象意義上,就是表;存儲上來說,分成順序表,也就是數組,和鏈表。
『捌』 c語言數據結構
100個元素進行排序,每個元素需要和其他元素進行比較,比較之後需要移動位置。
所以,這個題目的要求是:
首先進行排序(排序的方法有兩種:順序查找,二分查找,兩種都要實現)
在處理排序的過程中,每個元素需要比較和移位,你需要統計一下每個元素比較移位的次數(針對1中描述的兩種方法分別統計,然後做對比)
『玖』 C語言 數據結構
第一處:s->next=q->next;改為
s->next = p;
因前一句為q->next=s;
連起來相當於s->next = s;
這樣的鏈表是有一個環的,插入後再遍歷會導致死循環。
或者可以這樣把兩句倒過來寫:
s->next=q->next;
q->next=s;
兩種選一個。
第二處:
free(p);
插入一個節點無需free任何東西,因原有所有節點都需要保留。