真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

用c語言寫一個程序,初始化一個線性表。跪求

#include stdio.h

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

#include malloc.h

# define MaxSize 50

typedef struct{

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

int length;//存放順序表長度

}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;

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

//銷毀線性表

void DestroyList(SqList *L){

free(L);

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

//判斷線性表是否為空

int ListEmpty(SqList *L){

return (L-length ==0);

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

//求線性表的長度

int ListLength(SqList *L){

return (L-length);

}//本算法的時間復(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");

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

//求線性表中某個數(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),可以直接通過下標(biāo)訪問

return 1;

}//本算法的時間復(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++語句,故時間復(fù)雜度為O(L-length)

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

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

int j;

if(i1 || iL-length+1)

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

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

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

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

}

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

L-length++;//增加長度

return 1;

}//本算法的平均時間復(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]之后的元素前移一個位置,這就是數(shù)組中的刪除思想

}

L-length--;

return 1;

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

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

函數(shù)中不會修改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語言數(shù)據(jù)結(jié)構(gòu)順序列表初始化問題?。?!

#include

stdio.h

#include

malloc.h

/*包含頭文件*/

#define

INIT_SIZE

100

/*去除分號*/

typedef

int

ElemType;

typedef

struct{

ElemType

*elem;

int

length;

int

listsize;

}SqList;

//SqList

L;

不需要用全局變量

int

SqListInit(SqList

L)

/*刪除了*號,采用引用參數(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ù)類型*/

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

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

free(L.elem);

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

}

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

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

總體來說就是你定義的是指針的話就要分配空間。

你的2個程序都是對的,但是一般用第一種定義鏈表!?。?/p>

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

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

我們可以這樣定義

#define N 5

int a[N]

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

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

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

擴(kuò)展資料

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

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


網(wǎng)站欄目:c語言函數(shù)初始化列表,c 初始化列表
網(wǎng)頁URL:http://weahome.cn/article/dsshgod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部