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...