91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

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

資源簡介

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

資源截圖

代碼片段和文件信息

//雙向鏈表
#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);//尾插法創建雙向鏈表
void?DListPushFront(DList?*list?DataType?x);//頭插法創建雙向鏈表
size_t?DListLen(DList?*list);//求表長
void?DListShow(DList?*list);//顯示雙向鏈表
DListNode?*DListFindData(DList?*list?DataType?x);//按元素查找
DListNode?*DListFindSite(DList?*list?size_t?x);//按位置查找
int?DListPushRear(DList?*list?DListNode?*sDataType?key);//后插運算
int?DListPushFormer(DList?*list?DListNode?*s?DataType?key);//前插運算
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的個數
int?DListSiteDelete(DList?*list?size_t?x);//按位置刪除
int?DListDataDelete(DList?*list?DataType?key);//按元素刪除,返回刪除x的個數
void?DListEmpty(DList?*list);//清除所有元素
void?DListReverse(DList?*list);//逆置
void?DListEmptyPlus(DList?*list);//銷毀
void?DListSort(DList?*list);//排序

void?Menu()
{
printf(“??????????????選項\n“);
printf(“*???1.尾插法????????2.頭插法?????*\n“);
printf(“*???3.顯示??????????4.求表長?????*\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(“請選擇:“);
scanf(“%d“?&input);
switch?(input)
{
case?1:
printf(“請輸入元素(以-1結束):“);
while?(scanf(“%u“?&x)?x?!=?-1)
DListPushBack(&mylist?x);
break;
case?2:
printf(“請輸入元素(以-1結束):“);
while?(scanf(“%u“?&x)?x?!=?-1)
DListPushFront(&mylist?x);
break;
case?3:
DListShow(&mylist);
break;
case?4:
printf(“表長?=?%u\n“DListLen(&mylist));
break;
case?5:
printf(“你要在哪個元素后面插入:“);
scanf(“%u“?&x);
printf(“請輸入要插入的元素:“);
scanf(“%u“?&key);
if?(DListPushRear(&mylist?DListFindData(&mylist?x)?key)?==?0)
printf(“插入失??!\n“);
else
printf(“插入成功!\n“);
break;
case?6:
printf(“你要在哪個元素前面插入:“);
scanf(“%u“?&x);
printf(“請輸入要插入的元素:“);
scanf(“%u“?&key);
if?(DListPushFormer(&mylist?DListFindData(&mylist?x)?key)?==?0)
printf(“插入失敗!\n“);
else
printf(“插入成功!\n“);
break;
case?7:
printf(“請輸入要插入的位置及元素:“);
scanf(“%u?%u“?&x?&key);
if?(DListPushSite(&mylist?x?key)?==?0)
printf(“輸入位置有誤,插入失??!\n“);
else
printf(“插入成功!\n“);
break;
case?8:
DListSort(&m

評論

共有 條評論