定義
#define maxsize 20 //線性表最長長度
typedef int elemtype; //資料型別
typedef structsqlist;
函式說明
/**
* 順序表
* initlist(*l) 初始化
* listempty(l) 若為空,返回true
* clearlist(*l) 清空
* getelem(l,i,*e) 第i個位置元素返回給e
* locateelem(l,e) 查詢與e相同的元素,返回元素在表中序號
* listinsert(*l,i,e) 第i個元素之前插入元素
* listdelete(*l,i,*e) 刪除l的第i個資料
* * @return
*/
函式部分
int i;
status initlist(sqlist *l)
return ok;
}status output(sqlist *l)
printf("l->length:%d\n",l->length);
return ok;
}status getelem(sqlist l,int i,elemtype *e)
status locateelem(sqlist l,elemtype e)
}return false;
}status listinsert(sqlist *l,int i,elemtype e)
l->data[i-1] = e;
l->length++;
return ok;
}status listdelete(sqlist *l,int i,elemtype *e)
l->length--;
return ok;
}
main函式
int main() else
//刪除l的第i個資料
printf("請輸入要刪除第幾個資料:");
scanf("%d",&i);
listdelete(&l,i,&e);
printf("刪除後的線性表:");
output(&l);
//第i個元素之前插入元素
printf("請輸入i的值:");
scanf("%d",&i);
printf("請輸入要插入輸的值");
scanf("%d",&e);
listinsert(&l,i,e);
printf("插入後的線性表:");
output(&l);
return 0;
}
定義
typedef int elemtype;
typedef struct nodenode;
typedef struct node *linklist;
函式說明
/**
* 單鏈表
* initlinklist(l) 初始化l
* outputlinklist(l) 輸出l
* linkedlistcreateh 頭插法
* linkedlistcreatet 尾插法
* length(l) 長度
* getelem(l,i,*e) 獲取第i個元素值
* listinsert(l,i,e) 在i個節點之前插入新的數
* listdelete(l,i,*e) 刪除第i個節點
* clearlist(l)
* @return
*/
函式部分
linklist initlinklist()
//頭插法
linklist linkedlistcreateh(linklist l)
return l;
}//尾插法
linklist linkedlistcreatet(linklist l)
elemtype x;
for (int i = 0; i < 5; i++)
r->next = null;
return l;
}status outputlinklist(linklist l)
return ok;
}status length(linklist l)
return length;
}status getelem(linklist l,int i,elemtype *e)
if(!p || j>i)
return error;
*e = p->data;
return ok;
}linklist listinsert(linklist l,int i,elemtype e)
if(!p || j>i)
return error;
s = (linklist)malloc(sizeof(node));
s->data = e;
s->next = p->next;
p->next = s;
return l;
}linklist listdelete(linklist l,int i,elemtype *e)
if(!(p->next)||j >i)
return error;
q = p->next;
p->next = q->next;
*e = q->data;
free(q);
return l;
}linklist clearlist(linklist l)
l->next = null;
}status isclear(linklist l)
main函式
int main()
順序表的初始化 刪除 插入
初始化線性表 include include include define list init size 100 define listincrement 10 define ok 1 define error 0 define overflow 2 struct sqlist char elem ...
順序表的初始化 插入 刪除
昨天晚上做了中移動蘇州軟體公司的暑期實習崗的筆試題,感覺備受打擊,尤其是自以為是的資料結構題 從快排 歸併排序 堆排序中選一種實現 碎決定再次學習資料結構一次,並將重要的資料結構用程式實現。這裡先實現的是順序表的初始化,插入和刪除操作。include using namespace std 線性表的...
單鏈表的初始化
方法一 include using namespace std struct listnode class solution cout head val return positiveoutput head next 該函式的作用是倒序輸出結點值 listnode reverseoutput lis...