当前位置: 首页 > news >正文

作业。。。。。

顺序表按元素删除

参数:删除元素,顺序表

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.lryc.cn/news/537211.html

相关文章:

  • android 的抓包工具
  • 深入剖析推理模型:从DeepSeek R1看LLM推理能力构建与优化
  • linux中top命令详解
  • 前端包管理器的发展以及Npm、Yarn和Pnpm对比
  • node.js+兰空图床实现随机图
  • 【MySQL】高频 SQL 50 题(基础版)
  • 盛铂科技 SMF106 低相位噪声贴片式频率综合器模块
  • C语言如何实现面向对象?——从结构体到自由函数的思考
  • 深入探索C语言中的字符串处理函数:strstr与strtok
  • 浅聊Docker使用、部署
  • jenkins war Windows安装
  • 学习数据结构(9)栈和队列上
  • 【git-hub项目:YOLOs-CPP】本地实现03:跑自己的实例分割模型
  • MySQL和SQL server的区别
  • C#运动控制——轴IO映射
  • DeepSeek官方发布R1模型推荐设置
  • DeepSeek教unity------MessagePack-03
  • 《安富莱嵌入式周报》第350期:Google开源Pebble智能手表,开源模块化机器人平台,开源万用表,支持10GHz HRTIM的单片机,开源CNC控制器
  • img标签的title和alt
  • MambaMorph brain MR-CT
  • 小米 R3G 路由器(Pandavan)实现网络打印机功能
  • Python PyCharm DeepSeek接入
  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第二十节】
  • jemalloc 5.3.0的base模块的源码及调用链使用场景的详细分析
  • ThreadLocal源码分析
  • Python爬虫实战:获取笔趣阁图书信息,并做数据分析
  • 如何在Java EE中使用标签库?
  • 3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
  • STM32 Flash详解教程文章
  • ubuntu服务器部署