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

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

c語言主函數(shù)順序表 c語言 主函數(shù)

求用C語言寫這個順序表的主函數(shù)

完整代碼:

成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗。創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運(yùn)營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務(wù)。

#include stdio.h

#include stdlib.h

#include windows.h

#define MAXSIZE 100

typedef int datatype;

typedef struct{

datatype a[MAXSIZE];

int size;

}sequence_list;

void init(sequence_list *slt)

{

slt-size=0;

}

void append(sequence_list *slt,datatype x)

{

if(slt-size==MAXSIZE)

{

? printf("順序表是滿的");

exit(1);

}

slt-a[slt-size]=x;

slt-size=slt-size+1;

}

void display (sequence_list slt)

{

int i;

if(!slt.size)

printf("順序表是空的");

else

for(i=0;islt.size;i++)

printf("%5d",slt.a[i]);

printf("\n");

}

int empty (sequence_list *slt)

{

memset(slt,0,sizeof(sequence_list));

return(slt-size==0?1:0);

}

int find (sequence_list slt,datatype x)

{

int i=0;

while(islt.size slt.a[i]!=x)

i++;

return(islt.size ? i:-1);

}

datatype get(sequence_list slt,int i)

{

if(i0||i=slt.size)

{

printf("\n指定位置的節(jié)點不存在");

exit(1);

}

else

? return slt.a[i];

}

void insert(sequence_list *slt,datatype x,int position)

{

int i;

if(slt-size==MAXSIZE)

{

printf("\n順序表是滿的,無法插入");

exit(1);

}

if(position0||positionslt-size)

{

printf("\n指定的插入位置不存在");

exit(1);

}

姿改 for(i=slt-size;iposition;i--)

slt-a[i]=slt-a[i-1];

slt-a[position]=x;

slt-size++;

}

void dele(sequence_list *slt,int position)

{

int i;

if(slt-size==0)

{

printf("\n順序表是空的,無法刪除");

exit(1);

}

if(position0||position=slt-size)

{

printf("\n指定的刪除位置不存在");

exit(1);

}

for(i=position;islt-size-1;i++)

? slt-液冊辯a[i]=slt-a[i+1];

? slt-size--;

}

int main()

{

sequence_list slt;

bool exit_flag=false;

int fun_num=1;

datatype data=0;

int i=0;

printf("1.初始鬧缺化 ?2.增加節(jié)點 ?3.顯示 ?4.清空 ?5.查找\n6.獲取節(jié)點 7.插入節(jié)點 ?8.刪除節(jié)點 ?9.退出 ?0.清屏\n");

while (!exit_flag)

{

printf("請選擇功能:\n");

scanf("%d",fun_num);

switch (fun_num)

{

case 1:

init(slt);

break;

case 2:

printf("請輸入數(shù)據(jù):\n");

scanf("%d",data);

append(slt,data);

break;

case 3:

display (slt);

break;

case 4:

empty (slt);

break;

case 5:

printf("請輸入查找的數(shù)據(jù):\n");

scanf("%d",data);

printf("查找到的數(shù)據(jù)位置為:%d",find (slt,data));

printf("\n");

break;

case 6:

printf("請輸入數(shù)據(jù)位置:\n");

scanf("%d",i);

printf("該位置的數(shù)據(jù)為:%d",get(slt,i));

printf("\n");

break;

case 7:

printf("請輸入插入節(jié)點位置:\n");

scanf("%d",i);

printf("請輸入插入節(jié)點數(shù)據(jù):\n");

scanf("%d",data);

insert(slt,data,i);

break;

case 8:

printf("請輸入刪除節(jié)點位置:\n");

scanf("%d",i);

dele(slt,i);

break;

case 9:

exit_flag=true;

break;

case 0:

system("CLS");

printf("1.初始化 ?2.增加節(jié)點 ?3.顯示 ?4.清空 ?5.查找\n6.獲取節(jié)點 7.插入節(jié)點 ?8.刪除節(jié)點 ?9.退出 ?0.清屏\n");

break;

default:

break;

}

}

return 0;

}

效果如下圖,調(diào)試通過,所有功能好使

C語言順序表的基本操作

#include?stdio.h

#include?stdlib.h

typedef?int?DataType;?//?定義數(shù)據(jù)數(shù)據(jù)類型

typedef?struct?{

DataType?*data;???//?data指向數(shù)據(jù)區(qū)的首個數(shù)據(jù)

int?length;???????//?數(shù)據(jù)長度

}SqList;

void?Sort(SqList?*L)?{

int?i,j,k;

DataType?tmp;

for(i?=?0;?i??L-length?-?1;?++i)?{

k?=?i;

for(j?=?i?+?1;?j??L-length;?++j)

if(L-data[k]??L-data[j])

k?=?j;

if(k?!=?i)?{

tmp?=?L-data[k];

L-data[k]?=?L-data[i];

L-data[i]?=?tmp;

}

}

}

SqList?*CreateList(DataType?a[],int?n)?{

int?i;

SqList?*L;

L?=?(SqList?*)malloc(sizeof(SqList));

L-data?=?(DataType?*)malloc(n?*?sizeof(DataType));

L-length?=?n;

for(i?=?0;?i??n;?孝激++i)?L-data[i]?=?a[i];

Sort(L);

return?L;

}

int?InsertList(SqList?*L,DataType?x)?{

int?i,j;

for?(i?=?0;i??L-length;i++)?{

if(x?=?L-data[i])?{

for(j?=?L-length;j?=?i;j--)

L-data[j?+?1]?=?L-data[j];?//?結(jié)點后移

L-data[i]?=?x;

L-length++;

return?1;

}

}

L-data[L-length++]?=?x;

return?1;

}

int?RemoveListElem(SqList?*L,DataType?d)?{

int?i,j;

for(i?=?0;?i?悔高?L-length;?++i)?{

if(L-data[i]?==?d)?{

for(j?=?i;?j??L-length?-?1;?++j)

L-data[j]?=?L-data[j?+?1];

L-length--;

return?1;

}

}

return?0;

}

SqList?*AndList(SqList?*A,?SqList?*B)?{???/*?A∩B?*/

int?i,j,k?=?0;

int?len?=?(A-length??B-length)???B-length?:?A-length;

SqList?*C?=?(SqList?*)malloc(sizeof(SqList));

C-length?=?len;

C-data?=?(DataType?*)malloc(len?*?sizeof(DataType));

for(i?=?0;?i??A-length;?++i)?{

for(j?=?0;?j??B-length;?++j)?{

if(A-data[i]?==?B-data[j])?{

C-data[k++]?=?A-data[i];

break;

}

}

}

C-length?=?k;

return?C;

}

SqList?*OrList(SqList?*A,?SqList?*B)?{???/*?A∪B?*/

int?i,j,flag;

DataType?e;

SqList?*C?=?(SqList?*)malloc(sizeof(SqList));

C-length?=?A-length?+?B-length;

C-data?=?巧前襪(DataType?*)malloc(C-length?*?sizeof(DataType));

for(i?=?0;?i??A-length;?++i)?C-data[i]?=?A-data[i];

for(i?=?0;?i??B-length;?++i)?{

e?=?B-data[i];

flag?=?1;

for(j?=?0;?j??C-length;?++j)?{

if(e?==?C-data[j])?{

flag?=?0;

break;

}

}

if(flag)?InsertList(C,e);

}

return?C;

}

void?PrintList(SqList?*L)?{

int?i;

for(i?=?0;?i??L-length;?++i)

printf("%d?",L-data[i]);

printf("\n");

}

void?FreeList(SqList?*L)?{

free(L-data);

free(L);

}

void?main()?{

DataType?x;

DataType?arra[]?=?{36,24,31,5,90,65,70,39,37};

DataType?arrb[]?=?{9,8,43,51,37,89,33,46,29,80,56};

int?alen?=?sizeof(arra)/sizeof(arra[0]);

int?blen?=?sizeof(arrb)/sizeof(arrb[0]);

SqList?*A?=?CreateList(arra,alen);

printf("A線性表為:?");

PrintList(A);

SqList?*B?=?CreateList(arrb,blen);

printf("B線性表為:?");

PrintList(B);

SqList?*C?=?AndList(A,B);

SqList?*D?=?OrList(A,B);

printf("?C?=?A∩B:?");

PrintList(C);

printf("?D?=?A∪B:?");

PrintList(D);

printf("在D表中插入數(shù)據(jù)?:?");

scanf("%d",x);

InsertList(D,x);

printf("D表插入x后?:");

PrintList(D);

printf("刪除D表中數(shù)據(jù)?:?");

scanf("%d",x);

RemoveListElem(D,x);

printf("刪除x后的D表為?:");

PrintList(D);

FreeList(A);

FreeList(B);

FreeList(C);

FreeList(D);

}

C語言 子函數(shù)和主函數(shù)的放置前后順序區(qū)別?

先回答下第一個問題頃緩,子函數(shù)的實現(xiàn)方法可以放在使用它的主函數(shù)或者其它子函數(shù)后面,但是你的定義一定要在使用它之前;不然編譯器怎么知道你用的函正乎衡數(shù)square是什么,這就是我們經(jīng)常包含頭文件的一個目的,頭文件是一舉做些函數(shù)定義或者預(yù)編譯命令。

修改是在#includestdio.h后面加

int square(int num);

第二個問題:num是在main定義是可以在main作用域內(nèi)直接使用,或者當(dāng)做參數(shù)傳遞給子函數(shù),你的問題num為什么可以在子函數(shù)中用,首先你子函數(shù)的num并非main里的num只是你把他們名字寫成一樣了;main里num是通過值傳遞給子函數(shù)的num,實際他們兩個num的內(nèi)存地址是不一樣的,你子函數(shù)換個名字去理解一下。


網(wǎng)頁題目:c語言主函數(shù)順序表 c語言 主函數(shù)
當(dāng)前網(wǎng)址:http://weahome.cn/article/ddpdghd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部