日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

删除所有奇数顺序表c语言,怎么将一个线性表(顺序表)拆分成两个奇偶表(C语言)?...

發布時間:2024/9/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 删除所有奇数顺序表c语言,怎么将一个线性表(顺序表)拆分成两个奇偶表(C语言)?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何將線性表A拆分成線性表A和B,使得A存放奇數,B存放偶數?

1.基礎函數

1.1 get取函數

int get(nod *la,int i)

{

return la->data[i];

}

1.2 insert插入函數

void insert(nod *la,int x,int j)

{

int i;

for(i=length;i>=j;i--)

{

la->data[i+1]=la->data[i];

}

la->data[j]=x;

la->len++;

}

1.3 Delete刪除函數

void Delete(nod* la,int i)

{

int j;

for(j=i+1;j<=12;j++)

la->data[j-1]=la->data[j];

la->len--;

}

2. 主函數

思路不難,總的來說也就是一個簡單的判斷,如果該數可以被2整除,那么它就是整數;如果不能,它就是奇數。

此程序采用的是順序表,這里有定義如下:

typedef struct node

{

int data[maxsize];//#define maxsize 1024

int len;

}nod;

2.1 清零

memset(la.data,0,sizeof(la.data));

memset(lb.data,0,sizeof(lb.data));

事實證明,清零和不清零,似乎沒有什么大的區別。

2.2 循環判斷

while(i<=la.len)

{

x=get(&la,i);

if(x%2==0)

{

insert(&lb,x,j);

j++;

Delete(&la,i);

}

else i++;

}

這里用&la,&lb是因為之前定義的nod la,lb;

2.3 輸出結果

for(i=1;i<=la.len;i++)

printf("%d ",la.data[i]);

putchar(10);

for(i=1;i<=lb.len;i++)

printf("%d ",lb.data[i]);

3. 代碼

#include

#include

#define maxsize 1024

#define length 11

typedef struct node

{

int data[maxsize];

int len;

}nod;

int get(nod *la,int i)

{

return la->data[i];

}

void insert(nod *la,int x,int j)

{

int i;

for(i=length;i>=j;i--)

{

la->data[i+1]=la->data[i];

}

la->data[j]=x;

la->len++;

}

void Delete(nod* la,int i)

{

int j;

for(j=i+1;j<=12;j++)

la->data[j-1]=la->data[j];

la->len--;

}

int main()

{

nod la,lb;

memset(la.data,0,sizeof(la.data));

memset(lb.data,0,sizeof(lb.data));

int i,j;

for(i=1;i<=length;i++)

{

scanf("%d",&la.data[i]);

}

la.len=length;

lb.len=0;

i=j=1;

int x;

while(i<=la.len)

{

x=get(&la,i);

if(x%2==0)

{

insert(&lb,x,j);

j++;

Delete(&la,i);

}

else i++;

}

for(i=1;i<=la.len;i++)

printf("%d ",la.data[i]);

putchar(10);

for(i=1;i<=lb.len;i++)

printf("%d ",lb.data[i]);

return 0;

}

4.總結

第一次用typora寫博客,一篇水文,當作試水吧。

標簽:奇偶,lb,線性表,la,int,len,C語言,nod,data

來源: https://blog.csdn.net/weixin_43462804/article/details/112723271

總結

以上是生活随笔為你收集整理的删除所有奇数顺序表c语言,怎么将一个线性表(顺序表)拆分成两个奇偶表(C语言)?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。