資料結構 雙鏈表的操作

2021-08-13 18:22:43 字數 1084 閱讀 3104

1、利用尾插法建立乙個雙向鍊錶。

2、遍歷雙向鍊錶。

3、實現雙向鍊錶中刪除乙個指定元素。

4、在非遞減有序雙向鍊錶中實現插入元素e仍有序演算法。

5、判斷雙向鍊錶中元素是否對稱若對稱返回1否則返回0。

6、設元素為正整型,實現演算法把所有奇數排列在偶數之前。

#include #include #define elemtype int

#define dx struct node

typedef struct node

dlnode,*dnode;

void creat(dlnode *h,dlnode *t)

}void bianli(dlnode *h,dlnode *t)

puts("");

printf("\t\n向前遍歷\n");

p=t->pre->pre;

while(p!=t)

puts("");

}void delete(dlnode *h,dlnode *t,elemtype data)

}}void charu(dlnode *h,dlnode *t,dlnode *s)

s->next=p;

s->pre=p->pre;

p->pre->next=s;

p->pre=s;

}void creat2(dlnode *h,dlnode *t)

}int duichen(dlnode *h,dlnode *t)

return 1;

}void jo(dlnode *h,dlnode *t)

else if(p1->data%2==0&&p2->data%2==0)

else if(p1->data%2==1&&p2->data%2==0)

else if(p1->data%2==1&&p2->data%2==1)

}}int main()

else

jo(h1,t1);

printf("奇偶排序後\n");

bianli(h1,t1);

return 0;

}

資料結構雙鏈表基本操作

雙鏈表 主要注意最後結點的操作,否則容易出現null prior的情況。include include typedef struct dlnode dlnode,list 尾插法構建 void createndlist list l,int a,int n f next null void crea...

資料結構 雙鏈表的基本操作

定義順序表 typedef structsqlist 初始化順序表 必須要!構建c表的時候會用上 void initsqlist sqlist l l.data i e l.size 順序的表長要增加!return 1 特定位置刪除元素 int deleteelem sqlist l,int p i...

資料結構 雙鏈表

typedef struct nodenode 雙鏈表的根節點的bwd指標指向雙鏈表的最後乙個節點,fwd指標指向雙鏈表的第乙個節點,雙鏈表的value欄位為空 以下程式是將乙個值插入到乙個有序的雙鏈表中,如果鍊錶中已經有和該值相同的節點則不插入 include include typedef st...