2023/11/23 work

1. 顺序表按元素修改

2023/11/23 work_第1张图片

2. 顺序表按元素删除

2023/11/23 work_第2张图片

3. 顺序表去重

2023/11/23 work_第3张图片

4. 顺序表排序

//新排序
int sortNew(sql_list * p){

        if(NULL == p || freeCheck(p)){
                return ERROR;
        }

        for(int i=0;ilen-1;i++){
                //记录下表
                int min =i;
                for(int j=i+1;jlen;j++){
                        //从小打大排序
                        if(p->date[min]>p->date[j]){
                                min = j;
                        }
                }
                if(min != i ){
                        int t = p->date[min];
                        p->date[min] =p->date[i];
                        p->date[i] =t;
                }
        }
        return SUCCESS;
}

2023/11/23 work_第4张图片

5. 顺序表有序合并

//合并(把p,p1 的数据 合并到 p2)
int combine(sql_list * p,sql_list * p1, sql_list * p2){
	
	int subp =0;
	int subq =0;

	//先排序
	sortNew(p);
	output(p);
	sortNew(p1);
	output(p1);

	while(subp < p->len && subq < p1->len){
		
		if(p->date[subp] <= p1->date[subq]){
			//p2->date[p2->len++] = p->date[p];
			//尾插
			insert(p2,p->date[subp]);
			subp++;
		}else{
			insert(p2,p1->date[subq]);
			subq++;
		}
	}

	while(subp < p->len){
		insert(p2,p->date[subp]);
		subp++;
	}
	while(subq < p1->len){
		insert(p2,p1->date[subq]);
		subq++;
	}
}

2023/11/23 work_第5张图片

6.  顺序表释放空间

你可能感兴趣的:(数据结构)