實現鍊錶的初始化,按值查詢,插入,刪除

2021-06-04 21:00:57 字數 1558 閱讀 8380

#include

#include

#include

#define ok   1

#define error  0

#define true 1

#define false 0

typedef char elemtype;

typedef struct node    /*結點型別定義*/

node, *linklist; void init_linklist(linklist *l)/*對單鏈表進行初始化*/

void creatlianbiao(linklist l)

else flag=0;}}

node *search(linklist l,elemtype e)  // 按值查詢

else break;

}return p;

}int inslist(linklist l,int i,elemtype e) // 在帶頭節點的單鏈表中第i個位置插入值為e的新節點

if(!pre)  // 相當於pre=null

s=(node*)malloc(sizeof(node)); // 為e申請乙個新的節點並由s指向它

s->data=e;

s->next=pre->next;

pre->next=s;

return ok;

}int dellist(linklist l,int i,elemtype *e )

if(!(pre->next))

r=pre->next;

pre->next=r->next;

*e=r->data;

free(r);

return ok;

}void main()

printf("請輸入要查詢的元素值:\n");

fflush(stdin);   //清空輸入緩衝區

scanf("%c",&c);

p = search(l,c);

if(p!=null)

printf("該結點的值為:%c\n",p->data);

else

printf("未找到此結點!\n");

int flag=0;

int i;

printf("請輸入插入的位置和元素:\n");

scanf("%d,%c",&i,&c);

flag=inslist(l, i, c);

if(flag)

printf("插入操作成功!\n");

else

printf("插入操作失敗!\n");

p = l->next;

while(p!=null)

printf("\n請輸入被刪元素的位置:");

scanf("%d",&i);

d= (char*)malloc(sizeof(char));

dellist(l,i,d);

printf("被刪除的元素是:%c\n",*d);

p = l->next;

while(p!=null)

printf("\n");

}

靜態鍊錶 初始化 插入

include include define ok 1 define true 1 define error 1 define false 1 define overflow 2 define elemtype int define status int 線性單鏈表 初始化 插入 取出 頭插法 合併...

靜態鍊錶的初始化 插入 刪除

include include define ok 1 define true 1 define error 1 define false 1 define overflow 2 define elemtype int define status int 靜態鍊錶 x 使用陣列實現鍊錶,可以在沒有指...

雜湊表 初始化 插入 刪除 查詢 查詢

首先看乙個面試題 找到乙個字串中第一次出現一次的字元?思路是 如果是a z26個字元,可以設定大小為26的陣列,將每個字元出現的次數依次存放在陣列裡。如果是所有字元,將所有字元按照各自的asscii碼作為下標將出現的次數存放在陣列裡。如下 char findfirstchar const char ...