1、思维导图
2、顺序去重
//16.去重
void dedup(seq_p L){
if(NULL==L){
printf("顺序表不存在\n");
return;
}
empty_seq(L);
for(int i=0;i<L->len-1;i++){
for(int j=i+1;j<L->len;j++){
if(L->arr[i]==L->arr[j]){
for(int k=j;k<L->len-1;k++){
L->arr[k]=L->arr[k+1];
}
L->len--;
j--;
}
}
}
}
3、单链表
//1.创建单链表
node_p create_link_list(){
node_p H=(node_p)malloc(sizeof(node));
if(NULL==H){
printf("创建单链表失败\n");
return NULL;
}
H->len=0;
H->next=NULL;
return H;
}
//2.创建结点
node_p create_node(datatyped data){
node_p new=(node_p)malloc(sizeof(node));
if(NULL==new){
printf("创建结点失败\n");
return NULL;
}
new->data=data;
new->next=NULL;
return new;
}
//3.单链表的头插
void insert_head(node_p H,datatyped data){
if(NULL==H){
printf("传入参数为空\n");
return;
}
node_p new=create_node(data);
new->next=H->next;
H->next=new;
H->len++;
return;
}