作业。。。。。

embedded/2025/2/19 17:30:44/

顺序表按元素删除

参数:删除元素,顺序表

1.调用元素查找的函数

4.根据下表删除 delete_sub(list,sub);

//删除元素                                                        
void delete_element(int element, Sqlist *list)                    
{                                                                 if (NULL == list)                                             {                                                             printf("delete_element error: list is NULL\n");           return;                                                   }                                                             int sub = search_sub_sqlist(element, list);                   if (sub != -1)                                                {                                                             delete_sub(list, sub);                                    printf("Element %d deleted from the list\n", element);    } else                                                        {                                                             printf("Element %d not found in the list\n", element);    }                                                             
}                                                                 

顺序表按元素修改

参数:

1.调用元素查找的函数

4.根据下表修改update_sub(list,sub);

                                                                   //元素修改                                                        void update_sub(Sqlist *list, int old_element, int new_element)   {                                                                 int pos = search_sub_sqlist(old_element, list);               if (pos == SUCCESS)                                           {                                                             for (int i = 0;i <list->len; i++)                       {                                                         if (list->data[i] == old_element)                     {                                                     change_sub_sqlist(new_element, i, list);          break;                                            }                                                     }                                                         } else                                                        {                                                             printf("Element %d not found in the list.\n", old_element)}                                                             }                                                                 

/顺序表按元素查找 

参数:顺序表,查找的元素

1.判断顺序表是否位空

2.判断顺序表是否创建

3.循环顺序表的元素,如果存在则返回下表sub,否则-1

//顺序表按元素查找                                               
int search_sub_sqlist(int sub, Sqlist *list)
{// 判断顺序表是否为空if (NULL == list || list->len == 0) {printf("search_sub_sqlist error: List is empty or not crereturn -1;}// 循环顺序表的元素for (int i = 0; i< list->len; i++){if (list->data[i] == sub){printf("Element %d found at position %d\n", sub, i);return i; // 返回元素的下标}}printf("Element %d not found\n", sub);return -1; // 未找到元素,返回-1

顺序表去重

​​int remove_same(Sqlist *list)                
{                                            //1.判断顺序表为空                       //2.判断顺序表是否创建                   if(NULL==list || 0==list->len)           return FALSE;                        //3.去重                                 for(int i=0;i<list->len;i++)             {                                        for(int j=i+1;j<list->len;j++)       {                                    if(list->data[i]==list->data[j]) {                                //删除j对应的元素            delete_sub(list,j);          j--;                         }                                }                                    }                                        return SUCCESS;                          
}                                            

顺序表排序 (冒泡、选择排序)

                                                     
//冒泡排序:                                         
void bubble_sort(Sqlist *list)                       
{                                                    if (NULL == list || list->len <= 1)              {                                                printf("bubble_sort error\n");               return;}                                                for (int i = 0; i < list->len - 1; i++)          {                                                for (int j = 0; j < list->len - 1 - i; j++)  {                                            if (list->data[j] < list->data[j + 1])   {                                        datatype temp = list->data[j];       list->data[j] = list->data[j + 1];   list->data[j + 1] = temp;            }                                        }                                            }                                                
}                                                    
                                                          
//选择排序;
void selection_sort(Sqlist *list)                         
{                                                         if (NULL == list || list->len<= 1)                    {                                                     printf("selection_sort error\n");                 return;                                           }                                                     for (int i = 0; i< list->len - 1; i++)                {                                                     int min_index = i;                                for (int j = i + 1; j < list->len; j++)           {                                                 if (list->data[j] <list->data[min_index])    {                                             min_index = j;                            }                                             }                                                 if (min_index != i)                               {                                                 datatype temp = list->data[i];                list->data[i] = list->data[min_index];        list->data[min_index] = temp;                 }                                                 }                                                     
}                                                         

顺序表释放

​
Sqlist* free_fun(Sqlist *list) 
{                              //1.判断顺序表是否创建 if(NULL==list )            return NULL;           free(list);                list=NULL;                 return list;               }                              ​


http://www.ppmy.cn/embedded/162606.html

相关文章

蓝桥与力扣刷题(108 将有序数组转换成二叉搜索树)

题目&#xff1a;给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9]…

ERP上云新范式:如何重构企业数字化基座

在数字化转型的深水区&#xff0c;ERP系统正经历从"本地重资产"向"云原生智能体"的进化。当SaaS ERP受困于标准化与定制化的矛盾&#xff0c;AWS云原生技术栈为企业提供了第三条道路——在云端构建可进化、高弹性、具备AI基因的新一代ERP体系。 一、ERP云化…

java面试题-集合篇

Collection 1.Collection有哪些类&#xff1f; Java集合框架中的Collection接口是所有集合类的基础接口&#xff0c;定义了一些基本的集合操作&#xff0c;如添加元素、删除元素、判断是否包含某个元素等。常见的集合类包括List、Set和Queue。 List List接口定义了按照索引…

VoIP之音视频会议中的混音技术

在VoIP音视频会议中&#xff0c;需要将多路参会方音频流混合成一路音频流再发送给各参会方&#xff0c;以达到参会方可以听到每个与会人声音的目的&#xff0c;这种技术叫混音。 一、混音基础原理 在实际生活中&#xff0c;我们所处的生活和工作环境就是一个自然的混音场&…

企业网站设计HTML源码模板

在选择HTML源码模板之前&#xff0c;企业需要明确自身的需求和目标。考虑因素包括企业的行业属性、品牌形象、网站功能需求以及目标受众等。例如&#xff0c;科技公司可能更适合选择具有简洁、现代风格的模板&#xff1b;而创意设计机构则可能倾向于选择富有创意和艺术感的模板…

极狐GitLab 17.8 正式发布,多项 DevOps 重点功能解读【二】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…

快速入门 Tailwind CSS:现代前端开发的利器

目录 一、引言 二、什么是 Tailwind CSS&#xff1f; 三、为什么选择 Tailwind CSS&#xff1f; 四、快速开始 1. 安装 Tailwind CSS 2. 创建配置文件 3. 引入 Tailwind CSS 4. 构建你的 HTML 5. 构建和优化 五、常用实用类 六、结语 七、参考文档 一、引言 在前端…

网络安全学习笔记

基本的CISCO路由器安全配置 路由器是网络中的神经中枢,广域网就是靠一个个路由器连接起来组成的,局域网中也已经普片的应用到了路由器,在很多企事业单位,已经用到路由器来接入网络进行数据通讯了,可以说,曾经神秘的路由器,现在已经飞入寻常百姓家了. 随着路由器的增多,路由器的…