c語言順序查找的主函數(shù) c語言排序查找

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

完整代碼:

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、翔安網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、HTML5、商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為翔安等各大城市提供網(wǎng)站開發(fā)制作服務。

#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)試通過,所有功能好使

順序查找線性表的主函數(shù)怎么寫?

假設前面定義過鏈表p了,待查找的是n。

q=p;

while (q-next!=null *q!=n)

q=q-next;

if (*q!=n) printf("no suitable value")

c語言順序查找

在這個程序中,輸入的10個數(shù)字,是以空格 隔開的。如果想用逗號隔開,會比較麻煩。

既然上面是空格隔開的,下面倒數(shù)第三行printf("%d in %d",key,i);key和i用空格隔開不用逗號是不行的。這是程序語句規(guī)定的,各輸出項之間必須要用逗號分隔。這個與上面所說的運行時輸入各數(shù)據(jù)用什么分隔(它是可以指定的)是兩碼事。

本文題目:c語言順序查找的主函數(shù) c語言排序查找
網(wǎng)站地址:http://muchs.cn/article0/dosjsoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、定制網(wǎng)站小程序開發(fā)、外貿(mào)建站、網(wǎng)站設計公司

廣告

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

外貿(mào)網(wǎng)站制作