2024-2-22 作业

作业要求:

  1. 复习前面知识点(指针、结构体、函数)
  2. 整理思维导图
  3. 顺序表(按位置插入、按位置删除和去重、重新写)
  4. 理解链表的代码,尝试写一下链表的尾插和输出

1.复习前面知识点(指针、结构体、函数)

2.整理思维导图

3.顺序表(按位置插入、按位置删除和去重、重新写)

运行代码:
cs 复制代码
#include "seq_list.h"

seq_p creat_seq_link()
{
	seq_p L=(seq_p)malloc(sizeof(seq_link));
	if(NULL==L){
		printf("申请失败\n");
		return -1;
	}
	bzero(L->data,sizeof(L->data));
	L->len=0;
	return L;
}

void insert_head(seq_p L,datatype data)
{
	if(NULL==L){
		printf("入参失败请检查\n");
		return;
	}
	if(MAX==L->len){
		printf("数组已满\n");
		return;
	}
	for(int i=L->len-1;i>=0;i--){
		L->data[i+1]=L->data[i];
	}
	L->data[0]=data;
	L->len++;
}
#if 1
void insert_pos(seq_p L,int pos,datatype data)
{
	if(NULL==L){
		printf("入参失败请检查\n");
		return;
	}
	if(MAX==L->len){
		printf("数组已满\n");
		return;
	}
	for(int i=L->len-1;i>=pos;i--){
		L->data[i+1]=L->data[i];
		
	}
	L->data[pos]=data;
	L->len++;
	
}
void del_pos(seq_p L,int pos)
{

	if(NULL==L){
		printf("入参失败请检查\n");
		return;
	}
	if(0==L->len){
		printf("数组已空\n");
		return;
	}
	for(int i=pos;i<L->len-1;i++){
		L->data[i]=L->data[i+1];
	}
	L->data[L->len-1]=0;
	L->len--;
}
void signal(seq_p L)
{
	
	if(NULL==L){
		printf("入参失败请检查\n");
		return;
	}
	if(0==L->len){
		printf("数组已空\n");
		return;
	}
	for(int i=0;i<L->len-1;i++){
		for(int j=i+1;j<L->len;j++){
			if(L->data[i]==L->data[j]){
				del_pos(L,j);
				j--;
			}
		}
	}


}

void print(seq_p L)
{
	for(int i=0;i<L->len;i++){
		printf("%d ",L->data[i]);
	}
	putchar(10);
}
运行截图:

4. 理解链表的代码,尝试写一下链表的尾插和输出

运行代码:
复制代码
//尾插函数
void insert_tail(link_p H,datatype data)
{
	if(NULL==H){
		printf("入参失败重新申请\n");
		return;
	}
	link_p new = creat_node(data);
	link_p temp = H;
	for(int i=0;i<H->len;i++){
		temp=temp->next;
	}
	new->next=temp->next;
	temp->next=new;
	H->len++;
}

//输出函数
void print(link_p H)
{
	int i;
	if(H==NULL){
		printf("入参失败,请检查\n");
		return;
	}
	link_p temp=H->next;
	for(i=0;i<H->len;i++){
		printf("%d ",temp->data);
		temp=temp->next;
	}
	putchar(10);
}
运行截图:
相关推荐
小蜗牛狂飙记8 小时前
Windows 双击 Jar 包无反应,不用写 bat 脚本!Jarfix 一键修复(以 Struts2 扫描工具为例)
windows·struts·jar
坐看风云变幻8 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
IT技术分享社区9 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
kakakahahahaha9 小时前
Win10/Win11 Windows Hello指纹不可用处理:WbioSrvc、传感器驱动与登录策略
windows·电脑·笔记本电脑·内容运营·软件需求
小黄人软件10 小时前
粘贴助手C++版 支持 Windows 7 / 10 / 11 不会出现缺少api-ms-win-core-path-11-1-0.dll
开发语言·c++·windows
Vex2une19 小时前
Windows 性能监视器发展史:从 PerfMon 计数器到 XPerf 深度诊断
windows·wpa·etw·性能监视器·perfmon·性能计数器·xperf
在角落发呆19 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
Vd7H20A720 小时前
Windows 下用 llama.cpp 运行 Qwen3.8-27B 并开启 512K 上下文 完全指南
windows·llama
kakakahahahaha1 天前
Win10/Win11扬声器有电平无声音:Audio服务、默认设备与驱动修复
windows·电脑·笔记本电脑·软件需求·windows电脑没有声音
百事牛科技1 天前
RAR如何加密码:三种场景一次说清
windows·winrar