『壹』 c語言:不懂一個結構List中List p是什麼意思
typedef PtrTolNode List; //看這句, List就是那個結構體
『貳』 C語言的形參struct list 和 list有什麼區別嗎
對於結構體類型變數定義,struct list和list在C++中是相同的,都是正確的。
但在C語言中,如果沒有經過重定義處理,則會編譯報錯。如:
typedefstructlist
{
intdata;
structlist*next;
}list;
這樣之後,可以使用struct list 或 list 來定義變數了,如:
struct list * link ;
list * link1 ;
『叄』 如何用C語言或C++實現一個List類
C語言沒有類的概念。C++有現成的List類, #include<list>即可。
如果要自己實現可以參考C++數據結構的書籍,是最基本的練習。
這里實現一個簡單的常式,請參考:
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string.h>
usingnamespacestd;
#include<stdio.h>
#include<string>
#include"math.h"
template<classT>classList{
public:
List()//構造函數
{
pFirst=NULL;
}
voidAdd(T&t)//在Link表頭添加新結點
{
if(pFirst==NULL)
{
pFirst=newNode;
*(pFirst->pT)=t;
}
else
{
Node*pNewNode=newNode;
*(pNewNode->pT)=t;
pNewNode->pNext=pFirst;
pFirst=pNewNode;
}
}
voidRemove(T&t)//在Link中刪除含有特定值的元素
{
Node*pNode=pFirst;
if(*(pNode->pT)==t)
{
pFirst=pFirst->pNext;
deletepNode;
return;
}
while(pNode!=NULL)
{
Node*pNextNode=pNode->pNext;
if(pNextNode!=NULL)
{
if(*(pNextNode->pT)==t)
{
pNode->pNext=pNextNode->pNext;
deletepNextNode;
return;
}
}
else
return;//沒有相同的
pNode=pNode->pNext;
}
}
T*Find(T&t)//查找含有特定值的結點
{
Node*pNode=pFirst;
while(pNode!=NULL)
{
if(*(pNode->pT)==t)
{
returnpNode->pT;
}
pNode=pNode->pNext;
}
returnNULL;
}
voidPrintList()//列印輸出整個鏈表
{
if(pFirst==NULL)
{
cout<<"列表為空列表!"<<endl;
return;
}
Node*pNode=pFirst;
while(pNode!=NULL)
{
cout<<*(pNode->pT)<<endl;
pNode=pNode->pNext;
}
}
~List()
{
Node*pNode=pFirst;
while(pNode!=NULL)
{
Node*pNextNode=pNode->pNext;
deletepNode;
pNode=pNextNode;
}
}
protected:
structNode{
Node*pNext;
T*pT;
Node()
{
pNext=NULL;
pT=newT;
}
~Node()
{
deletepT;
}
};
Node*pFirst;//鏈首結點指針
};
classStudent
{
public:
charid[20];//學號
charname[20];//姓名
intage;//年齡
Student()
{
}
~Student()
{
}
Student(constchar*pid,constchar*pname,int_age)
{
strcpy(id,pid);
strcpy(name,pname);
age=_age;
}
booloperator==(constStudent&stu)
{
returnstrcmp(id,stu.id)==0&&strcmp(id,stu.id)==0&&age==stu.age;
}
Student&operator=(constStudent&stu)
{
strcpy(id,stu.id);
strcpy(name,stu.name);
age=stu.age;
}
friendostream&operator<<(ostream&out,constStudent&stu);
};
ostream&operator<<(ostream&out,constStudent&stu)
{
out<<"id:"<<stu.id<<" name:"<<stu.name<<" age:"<<stu.age<<endl;
}
intmain()
{
List<Student>stuList;
cout<<"添加學生前:"<<endl;
stuList.PrintList();
Studentstu1("1","張三",18);
Studentstu2("2","李四",18);
Studentstu3("3","王五",18);
Studentstu4("4","至尊寶",18);
Studentstu5("5","豬八戒",18);
Studentstu6("6","唐僧",18);
Studentstu7("7","沙和尚",18);
Studentstu8("8","觀音",18);
stuList.Add(stu1);
stuList.Add(stu2);
stuList.Add(stu3);
stuList.Add(stu4);
stuList.Add(stu5);
stuList.Add(stu6);
stuList.Add(stu7);
stuList.Add(stu8);
cout<<"添加學生後:"<<endl;
stuList.PrintList();
Studentstu11("1","張三",18);
Student*pStu=stuList.Find(stu11);
cout<<"查找到的同學是:"<<*pStu;
stuList.Remove(stu11);
cout<<" 刪除第一個後:"<<endl;
stuList.PrintList();
return0;
}
『肆』 C語言中的list是指什麼求一個簡單的list代碼
C語言中沒有list
list是C++中的一個類
具體使用可以從網上查一下,有很多應用
『伍』 c語言中,int i,j,list(10),這里的list(10)代表什麼意思
在C++中才可以寫list(10),並且list的值被初始化為10.但是有一個問題:list是一個容器類型,你這樣寫應該會有問題。就像vector一樣。
『陸』 List類的實現與應用(c語言)
簡單~~~但是麻煩·`
『柒』 c語言中的struct list是什麼意思,它代表什麼東西。怎麼使用
struct
friends_list
f;
就是定義簡單的結構體變數f
friends[count]
=
f;
就是把結構體變數f賦值給結構體數組friends的第count個元素
『捌』 c語言里 sqlist
c語言里 sqlist?//定義順序表L的結構體
typedef struct
{
Elemtype data[MaxSize];
int length;
}SqList;
//建立順序表
void CreateList(SqList * &L,ElemType a[ ],int n)
{
int i;
L = (SqList * )malloc(sizeof(SqList));
for(i = 0 ; i < n ; i++)
L->data[i] = a[i];
L->length = n;
}
//輸出順序表:
void DispList(SqList *L)
{
int i;
for(i = 0; i < L ->length; i++)
printf(「%d」,L->data[i]);
printf(「\n」);
}。C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
二十世紀八十年代,美國國家標准局為了避免各開發廠商用的C語言語法產生差異,給C語言制定了一套完整的美國國家標准語法,稱為ANSI C。作為C語言最初的標准。2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
『玖』 C語言中creatlist的用法
1、createlist不是庫函數,一般是數據結構中實現新建一個鏈表的自定義函數。因此沒有什麼用法好說的,關鍵是看自己怎麼定義。
2、常式:
NODE*creatlist(inta[])
{NODE*h,*p,*q;inti;
h=(NODE*)malloc(sizeof(NODE));
h->next=NULL;
for(i=0;i<N;i++)
{q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h->next==NULL)h->next=p=q;
else{p->next=q;p=q;}}
returnh;
}
『拾』 C語言線性表中list->last什麼意思
你這個應該是 利用數組的連續存儲空間順序存放線性表的各元素 而這個last通常是個標志位 記錄數組已經存了多少條數據 如果last賦的初值是-1 那麼這個last表示的就是最後一個數組元素的下標 而list是結構體類型的指針(C語言中) 所以list->last就是取last的值 而for(i=0;i<(list->last);i++)的意思就是一個for循環 你要是明白last是什麼意思 這句話也應該明白了