欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語(yǔ)言函數(shù)初始化列表,c 初始化列表

用c語(yǔ)言寫一個(gè)程序,初始化一個(gè)線性表。跪求

#include stdio.h

創(chuàng)新互聯(lián)是專業(yè)的思南網(wǎng)站建設(shè)公司,思南接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行思南網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

#include malloc.h

# define MaxSize 50

typedef struct{

ElemType data[MaxSize];//存放順序表元素

int length;//存放順序表長(zhǎng)度

}SqList;//順序表類型定義

//建立順序表

void CreateList(SqList *L,ElemType a[],int n){

int i;

for(i=0;in;i++){

L-data [i]=a[i];

}

L-length =n;

}

//順序表基本運(yùn)算算法

//初始化線性表InitList(L)

void InitList(SqList *L){

L=(SqList *)malloc(sizeof(SqList));//分配存放線性表的空間

L-length =0;

}//本算法的時(shí)間復(fù)雜度為O(1)

//銷毀線性表

void DestroyList(SqList *L){

free(L);

}//本算法的時(shí)間復(fù)雜度為O(1)

//判斷線性表是否為空

int ListEmpty(SqList *L){

return (L-length ==0);

}//本算法的時(shí)間復(fù)雜度為O(1)

//求線性表的長(zhǎng)度

int ListLength(SqList *L){

return (L-length);

}//本算法的時(shí)間復(fù)雜度為O(1)

//輸出線性表

void DispList(SqList *L)

{

int i;

if(ListEmpty(L)) return;

for(i=0;iL-length;i++){

printf(nn,L-data[i]);

}

printf("\n");

}//本算法的時(shí)間復(fù)雜度為O(L-length)

//求線性表中某個(gè)數(shù)據(jù)的元素值

int GetElem(SqList *L,int i,ElemType e)

{

if(i1||iL-length)

return 0;

e=L-data[i-1];//這兒體現(xiàn)了數(shù)組的優(yōu)點(diǎn),可以直接通過(guò)下標(biāo)訪問(wèn)

return 1;

}//本算法的時(shí)間復(fù)雜度為O(1)

//按元素的值查找

int LocateElem(SqList *L,ElemType e){

int i=0;

while(iL-length L-data[i]!=e)i++;

if(i=L-length)

return 0;

else

return i+1;

}//本算法中基本運(yùn)算為while循環(huán)中的i++語(yǔ)句,故時(shí)間復(fù)雜度為O(L-length)

//插入數(shù)據(jù)元素

int ListInsert(SqList *L,int i,ElemType e){

int j;

if(i1 || iL-length+1)

return 0;//參數(shù)錯(cuò)誤,返回0

i--;//將順序邏輯位序變?yōu)槲锢砦恍?/p>

for(j=L-length;ji;j--){

L-data[j]=L-data[j-1];//將data[i]及后面的元素后移一個(gè)位置

}

L-data[i]=e;//插入元素e

L-length++;//增加長(zhǎng)度

return 1;

}//本算法的平均時(shí)間復(fù)雜度為O(n)

//刪除數(shù)據(jù)元素

int ListDelete(SqList *L,int i,ElemType e){

int j;

if(i1 || iL-length)

return 0;

i--;//將順序邏輯位序變?yōu)槲锢砦恍?/p>

e=L-data[i];

for(j=i;jL-length-1;j++){

L-data[j]=L-data[j+1];//將data[i]之后的元素前移一個(gè)位置,這就是數(shù)組中的刪除思想

}

L-length--;

return 1;

}//本算法的平均時(shí)間復(fù)雜度為O(n)

跪求:線性表初始化函數(shù)的詳細(xì)解釋(c語(yǔ)言)

函數(shù)中不會(huì)修改main()函數(shù)中定義的變量,修改如下:

//---------------------------------------------------------------------------

#include

#include

#define

LIST_INIT_SIZE

100

#define

LISTINCREMENT

10

typedef

int

ElemType[LIST_INIT_SIZE];

typedef

struct

{

ElemType

*elem;

int

length;

int

listsize;

}SqList;

typedef

int

Status;

int

InitList_Sq(SqList

*L)

/*注意這里*/

{

L-elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));

/*注意這里*/

if(!L-elem)

/*注意這里*/

L-length=1;

/*注意這里*/

printf("%d\n",L-length);

/*注意這里*/

L-listsize=LIST_INIT_SIZE;

/*注意這里*/

return

1;

}

int

main()

{

SqList

p=;

/*注意這里*/

InitList_Sq(p);

/*注意這里*/

printf("%d\n",p.length);

return

0;

}

//---------------------------------------------------------------------------

C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)順序列表初始化問(wèn)題!!!

#include

stdio.h

#include

malloc.h

/*包含頭文件*/

#define

INIT_SIZE

100

/*去除分號(hào)*/

typedef

int

ElemType;

typedef

struct{

ElemType

*elem;

int

length;

int

listsize;

}SqList;

//SqList

L;

不需要用全局變量

int

SqListInit(SqList

L)

/*刪除了*號(hào),采用引用參數(shù)*/

{

L.elem=(ElemType

*)malloc(INIT_SIZE*sizeof(ElemType));

if(!L.elem)

return

0;

L.length=0;

L.listsize=INIT_SIZE;

return

1;

}

void

main()

{

SqList

L;

/*用局部變量*/

SqListInit(L);

/*調(diào)用時(shí),去除實(shí)參參數(shù)類型*/

printf("當(dāng)前長(zhǎng)度為%d\n",L.length);

printf("當(dāng)前空間為%d\n",L.listsize);

free(L.elem);

/*退出前最好要釋放L所用的堆空間*/

}

C語(yǔ)言(數(shù)據(jù)結(jié)構(gòu))順序表的初始化

肯定是要分配空間的,你第一個(gè)程序的initsqlist函數(shù)中聲明的結(jié)構(gòu)體指針(Sqlist *a;),而第二個(gè)程序的initsqlist函數(shù)中是聲明的結(jié)構(gòu)體(Sqlist a;),前者只是在計(jì)算機(jī)內(nèi)存中聲明一個(gè)指針,而不會(huì)給這個(gè)指針?lè)峙鋬?nèi)存空間,所以你初始化的時(shí)候要給這個(gè)指針用malloc函數(shù)分配空間,而后者是實(shí)實(shí)在在的定義了一個(gè)結(jié)構(gòu)體,在內(nèi)存在不僅僅是一個(gè)地址,還分配了空間,就像你定義了一個(gè)數(shù)組一樣,已經(jīng)在內(nèi)存存在空間了,不需要再分配了。

總體來(lái)說(shuō)就是你定義的是指針的話就要分配空間。

你的2個(gè)程序都是對(duì)的,但是一般用第一種定義鏈表!!!

C語(yǔ)言數(shù)組的初始化表示方法

不是inta[] ? 而是例如int a[10]這種。括號(hào)內(nèi)一定要有個(gè)常量數(shù)字。

我們可以這樣定義

#define N 5

int a[N]

這表明了數(shù)組名為a;數(shù)組有5個(gè)元素;分別是a[0]到a[4];

對(duì)于數(shù)組來(lái)說(shuō);數(shù)組是變量的集合,因此數(shù)組也具有與變量相同的數(shù)據(jù)類型和儲(chǔ)存類型。數(shù)組的類型就是它所有的變量的類型。在定義數(shù)組時(shí),應(yīng)在數(shù)組名前對(duì)數(shù)組的類型加以確定。如上面的int a[10];則表明了數(shù)組內(nèi)元素均為整形。

所有當(dāng)表示浮點(diǎn)型可以定義為例如float a[10]。 舉例如下:

擴(kuò)展資料

數(shù)組名是由用戶命名的C語(yǔ)言標(biāo)識(shí)符,要遵循標(biāo)識(shí)符命名規(guī)則。數(shù)組名表示數(shù)組存儲(chǔ)區(qū)域的首地址。數(shù)組的首地址也就是第一個(gè)元素的地址。數(shù)組名是一個(gè)地址常量,不能對(duì)它賦值。

數(shù)組名后是由方括號(hào)括起來(lái)的常量表達(dá)式,不能使用其他括號(hào)

當(dāng)前名稱:c語(yǔ)言函數(shù)初始化列表,c 初始化列表
本文網(wǎng)址:http://chinadenli.net/article1/dsshgod.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司品牌網(wǎng)站設(shè)計(jì)標(biāo)簽優(yōu)化全網(wǎng)營(yíng)銷推廣營(yíng)銷型網(wǎng)站建設(shè)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)