xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 10KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-18
  • 語(yǔ)言: 其他
  • 標(biāo)簽: C語(yǔ)言??

資源簡(jiǎn)介

菜單:1.尾插法(用尾插法建立鏈表);2.頭插法(用頭插法建立鏈表);3.顯示(打印鏈表);4.求表長(zhǎng)(輸出鏈表長(zhǎng)度);5.后插(在指定節(jié)點(diǎn)后面插入);6.前插(在指定節(jié)點(diǎn)前面插入);7.按位置插入(將元素插入指定位置);8.排序(將元素升序排列);9.按位置查找(查找指定位置元素值);10.逆置(通過(guò)改變指針的方式將元素逆序);11.按元素查找(查找指定元素是否存在);12.按位置刪(刪除指定位置元素);13.按元素刪(刪除指定元素);14.清空(清除所有元素,但鏈表未銷毀,還可以繼續(xù)進(jìn)行操作);15.按位置修改(修改指定位置的元素);16.修改元素(將鏈表中所有與指定元素相等的元素刪除);17.銷毀(銷毀整個(gè)鏈表,無(wú)法再對(duì)鏈表進(jìn)行其他操作);

資源截圖

代碼片段和文件信息

//雙向鏈表
#include?
#include?
#include?

typedef?int?DataType;

typedef?struct?DListNode
{
DataType?data;
struct?DListNode?*prev;
struct?DListNode?*next;
}DListNode;

typedef?struct?DList
{
DListNode?*first;
DListNode?*last;
size_t?size;
}DList;

void?DListInit(DList?*list);//初始化
void?DListPushBack(DList?*list?DataType?x);//尾插法創(chuàng)建雙向鏈表
void?DListPushFront(DList?*list?DataType?x);//頭插法創(chuàng)建雙向鏈表
size_t?DListLen(DList?*list);//求表長(zhǎng)
void?DListShow(DList?*list);//顯示雙向鏈表
DListNode?*DListFindData(DList?*list?DataType?x);//按元素查找
DListNode?*DListFindSite(DList?*list?size_t?x);//按位置查找
int?DListPushRear(DList?*list?DListNode?*sDataType?key);//后插運(yùn)算
int?DListPushFormer(DList?*list?DListNode?*s?DataType?key);//前插運(yùn)算
int?DListPushSite(DList?*list?size_t?x?DataType?key);//按位置插入
int?DListSiteAlter(DList?*list?size_t?x?DataType?key);//按位置修改
int?DListDataAlter(DList?*list?DataType?x?DataType?key);//按元素修改,將所有x修改為key返回修改x的個(gè)數(shù)
int?DListSiteDelete(DList?*list?size_t?x);//按位置刪除
int?DListDataDelete(DList?*list?DataType?key);//按元素刪除,返回刪除x的個(gè)數(shù)
void?DListEmpty(DList?*list);//清除所有元素
void?DListReverse(DList?*list);//逆置
void?DListEmptyPlus(DList?*list);//銷毀
void?DListSort(DList?*list);//排序

void?Menu()
{
printf(“??????????????選項(xiàng)\n“);
printf(“*???1.尾插法????????2.頭插法?????*\n“);
printf(“*???3.顯示??????????4.求表長(zhǎng)?????*\n“);
printf(“*???5.后插??????????6.前插???????*\n“);
printf(“*???7.按位置插入????8.排序???????*\n“);
printf(“*???9.按位置查找????10.逆置??????*\n“);
printf(“*???11.按元素查找???12.按位置刪??*\n“);
printf(“*???13.按元素刪除???14.清空??????*\n“);
printf(“*???15.按位置修改???16.修改元素??*\n“);
printf(“*???17.銷毀?????????0.退出???????*\n“);
}

int?main()
{
int?input?=?0;
DList?mylist;
DListInit(&mylist);
do
{
int?k?=?0;
size_t?x?=?0;
DataType?key?=?0;
DListNode?*p?=?NULL;

Menu();
printf(“請(qǐng)選擇:“);
scanf(“%d“?&input);
switch?(input)
{
case?1:
printf(“請(qǐng)輸入元素(以-1結(jié)束):“);
while?(scanf(“%u“?&x)?x?!=?-1)
DListPushBack(&mylist?x);
break;
case?2:
printf(“請(qǐng)輸入元素(以-1結(jié)束):“);
while?(scanf(“%u“?&x)?x?!=?-1)
DListPushFront(&mylist?x);
break;
case?3:
DListShow(&mylist);
break;
case?4:
printf(“表長(zhǎng)?=?%u\n“DListLen(&mylist));
break;
case?5:
printf(“你要在哪個(gè)元素后面插入:“);
scanf(“%u“?&x);
printf(“請(qǐng)輸入要插入的元素:“);
scanf(“%u“?&key);
if?(DListPushRear(&mylist?DListFindData(&mylist?x)?key)?==?0)
printf(“插入失敗!\n“);
else
printf(“插入成功!\n“);
break;
case?6:
printf(“你要在哪個(gè)元素前面插入:“);
scanf(“%u“?&x);
printf(“請(qǐng)輸入要插入的元素:“);
scanf(“%u“?&key);
if?(DListPushFormer(&mylist?DListFindData(&mylist?x)?key)?==?0)
printf(“插入失敗!\n“);
else
printf(“插入成功!\n“);
break;
case?7:
printf(“請(qǐng)輸入要插入的位置及元素:“);
scanf(“%u?%u“?&x?&key);
if?(DListPushSite(&mylist?x?key)?==?0)
printf(“輸入位置有誤,插入失敗!\n“);
else
printf(“插入成功!\n“);
break;
case?8:
DListSort(&m

評(píng)論

共有 條評(píng)論