線性表演算法實現

2021-08-30 04:29:55 字數 1447 閱讀 1990

1.設有兩個無頭結點的單鏈表,頭指標分別為ha.hb.鏈中有資料域data鏈域next,兩鍊錶的資料都按遞增序存放,現要求將hb表歸到ha表中且歸併後ha仍遞增序,歸併中ha表中已有的資料若hb中也有則hb中的資料不歸併到ha中要求不申請額外的儲存空間來完成。merge(hahb);

linklist.h

//

// linklist.h

// test

//// created by edong on 2018/10/27.

//#ifndef linklist_h

#define linklist_h

#include

#include

#endif

/* linklist_h */

typedef

int elemtype;

typedef

struct node

*linklist;

// 傳入乙個陣列,用於初始化鍊錶

linklist initlist

(int arg)

return list;

}void

printlist

(linklist l)

}//合併排序

void

sortlist

(linklist a,linklist b)

if(copyb->data==copya->data)

if(copyb->datadata)

copya2=copya2->next;

continue;}

if(copyb->data>copya->data)

}}

main.c
#include

#include

"linklist.h"

#define maxsize 30

intmain

(int argc,

const

char

* argv)

;int b[maxsize]=;

linklist al=

initlist

(a);

linklist bl=

initlist

(b);

printf

("\n鍊錶a為:");

printlist

(al)

;printf

("\n鍊錶b為:");

printlist

(bl)

;printf

("\n鍊錶b、a合併後:");

sortlist

(al, bl)

;printlist

(al)

;printf

("\n");

return0;

}

線性表常見演算法實現

定義線性表 struct seqlist 初始化線性表 void init seqlist seqlist l,int n 線性表內的元素逆序 void reverse seqlist seqlist l 從一給定的順序表l中刪除下標i j i j,包括i,j 的所有元素 void delete i...

線性表演算法

1.在乙個遞增的順序表中插入乙個元素,並保持有序.分析 判斷順序表是否滿,滿了則追加空間.從表中的最後乙個元素開始,尋找插入位置,找到則插入,表長增一 int listinsert sq sqlist l,int ele for k l length 1 k 0 l slist k e k l sl...

線性表演算法題庫 線性表習題

鍊錶。若指標p指向某結點時,能夠根據該指標找到其直接後繼,能夠順後繼指標鏈找到p結點後的結點。但是由於不知道其頭指標,所以無法訪問到p指標指向的結點的直接前趨。因此無法刪去該結點。2.雙鏈表。由於這樣的鍊錶提供雙向指標,根據p結點的前趨指標和後繼指標可以查詢到其直接前趨和直接後繼,從而可以刪除該結點...