c語言資料結構,把單連結串列LA中的奇數項和偶數項分開,分別

2021-05-06 04:40:13 字數 6100 閱讀 8767

1樓:

//輸入時以-1結束

#include

#include

struct node

;struct node * create()else

}p->next = null;

return head;

}void print_link(struct node * head)

printf("\n");

}struct node ** devide_link(struct node * head)

else

}else //奇數

else

}head = head->next;

}if(head_odd_tmp)

head_odd_tmp->next = null;

if(head_even_tmp)

head_even_tmp->next = null;

return head_result;

}int main()

求一個資料結構(c++)的程式,將連結串列中的奇數項和偶數項分開存到兩個新的連結串列中,原連結串列不變

2樓:我已經匿名了

//僅供參考,希望不要用來應付老師佈置的作業

#include

#include

typedef int  datatype;

//單向連結串列

//節點類

class cnode

cnode(datatype x):m_pnext(null),m_data(x){}

};//連結串列類

class list

cnode* movetrail(cnode *pnode) //移動到尾節點

return ptmp;

}void addnode(cnode *pnode) //新增節點

else

m_nodesum++;

}void addnode(datatype x)

void passlist() //遍歷連結串列(列印)

}cout<0)

m_nodesum=0;

pdelete=null;

ptmp=null;

}m_pheader=null;

}cnode * getheader()

int     getlength() //獲取連結串列長度

//連結串列的資料成員

private:

cnode *m_pheader;

int m_nodesum;

};#define n 10

int main()

//list0.passlist();

list l_even, l_odd;

cnode *p = list0.getheader();

//遍歷原始連結串列,把值為偶數的節點複製到l_even, 值為奇數的節點複製到l_odd。原連結串列不變

while(p!=null)

else

p=p->m_pnext;

}//列印結果

list0.passlist();

l_even.passlist();

l_odd.passlist();

return 0;}

c語言怎麼把陣列奇數項和偶數項分離出來成為兩個陣列 10

3樓:gta小雞

int a[128];

int b[64], c[64];

...for(int i=0; i<128; i++)

資料結構(c語言)單連結串列的問題

4樓:匿名使用者

/*這是結果,需要的話給我個地址

------------------------***建立含有n個資料元素的帶頭結點的單連結串列***請輸入n = 5

請輸入第1個元素:1

請輸入第2個元素:2

請輸入第3個元素:3

請輸入第4個元素:4

請輸入第5個元素:5

依次輸出該表中各元素的值:1 2 3 4 5將單連結串列進行逆置運算:

依次輸出逆置後表中各元素的值:5 4 3 2 1press any key to continue------------------------------*/

資料結構(c語言) 單連結串列的合併(100分)

5樓:匿名使用者

#include

#include

#include

typedef struct list

list;

void creatlist(list * p,int length)

else

else r=r->next;

}} }}

void showlist(list * p)printf("\n");

}void merlist(list * p)} r=p1;

if(r)

q=r;

r=r->next;

}r=q;

q=p0->next;

p0->next=p1;

p1=r->next;

r->next=q;

p0=r;

r=p1;

}}if(p1)

p0->next=p1;

}int main()

;srand(time(null));

for(i=0;i<2;i++)

merlist(p);

printf("\nafter merge:\n");

showlist(p[0]);

getchar();

return 0;}

6樓:匿名使用者

#include

#include

#include

struct lnode

;typedef lnode* linklist;

linklist *unio(linklist *p,linklist *q) //合併

else

}if(pa->next!=null)

ra->next=pa;

if(qa->next!=null)

ra->next==qa;

return r;

} // createlist_lvoid main()

while(q!=null)

//上面建立完後,下面合併並輸出

linklist uniohead;

合併linklist myunio = uniohead ->next;

while(myunio!=null) //輸出 }

7樓:匿名使用者

樓上的沒有對單連結串列分別排序,並且兩個連結串列的長度不一定相同,而樓主卻設定兩個連結串列長度相同。

c語言資料結構單連結串列的一道題

8樓:gta小雞

p=l,因為l用來指示頭結點,不可隨意更改,所以用p來操作連結串列。

p=p->next,令p指向第一個資料結點

9樓:伊翎墨安

#include

#include

typedef struct _aa;

typedef a* ia;

void createdoublelink(ia *header)else

q->next = p;

q->next->next = *header;

}int main()

c語言中資料結構中的單向連結串列的問題;

10樓:劉莽蘿蔔

#include "stdlib.h"

#include "stdio.h"

//連結串列的型別定義

typedef struct node

*pnode,*linklist;

//typedef struct node *pnode;

//typedef struct node *linklist;

//建立空連結串列

linklist createnullist_link(void)

//判斷空連結串列

int isnullist_linkq(linklist list)

//在單連結串列中求某元素的儲存位置

pnode locate_link(linklist list,int x)

// 單連結串列的插入

int insertpost_link(linklist list,pnode p,int x)

else

}// 在單連結串列求p所指結點的前驅結點

pnode locatepre_link(linklist list,pnode p)

// 單連結串列的刪除

int insertpost_link(linklist list,int x)

else

}void main()

printf("\n");

p=list1->link;

while(p!=null)

printf("\n");

printf("請輸入刪除結點的值:",i+1);

scanf("%d",&x);

insertpost_link(list1,x);

printf("\n");

p=list1->link;

while(p!=null)}

11樓:

#include

#include

typedef struct node

lnode;

lnode *creat()

else

n--;

}q->next=null;

return head;

}lnode *insert(lnode *head)if (q==p)

else

}else if (ch=='b'||ch=='b')if (null==q->next)

else

} else

}lnode *del(lnode *head)else if(null==p->next)else

}q=p;

p=p->next;

}if (flag==0)

else

return head;

}lnode *sort(lnode *head)}

if (null==f)

else

if (min==head)

else

}if (f!=null)

printf("排序完成\n");

system("pause");

head=f;

return f;

}else if (ch=='d'||ch=='d')}

if (null==f)

else

if (min==head)

else

}if (f!=null)

printf("排序完成\n");

system("pause");

head=f;

return f;}}

void dispaly(lnode *head)}int getoption()

int main()

system("cls");

printf("按0退出,任意鍵繼續\t");

ch=getchar();

if (ch=='0')

} while (ch!='0');}

12樓:軍軍

有什麼問題?不會要別人幫你寫複雜程式吧?

c語言資料結構的基本問題,C語言資料結構的一個基本問題

1 int read 2d array int array,int i,int j,int column 2以上函式的引數第一行的int array是函式引數這個引數說明該函式引數列表一接收的資料型別為int 型的變數 也就是指向int 型指標變數的指標變數 那麼return int array i...

C語言資料結構迴圈佇列插入操作,資料結構(使用C語言)佇列

取餘是為了判斷佇列是否是滿的 sq a sq rear x 這句是講x插入到隊尾 include include struct link cqueue 初始化迴圈鏈佇列 struct link cqueue init link cqueue 1 插入 即入隊 演算法 struct link cque...

資料結構 用單連結串列的儲存形式實現將兩個輸入的稀疏多項式儲存並

你開發專案時,難道就沒考慮過其他機器會用嗎?事實上,這跟解析度表面上看有關係,實際上沒毛關係。這涉及到控制元件尺寸自適應問題,顯示方式等等。也就是說,你開發了一個專案後,我既能在不同解析度的機器上執行,也要在不同版本的系統下執行,而且要顯示一樣。include include using names...