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);
}
运行截图:
相关推荐
熊文豪35 分钟前
Windows安装RabbitMQ保姆级教程
windows·分布式·rabbitmq·安装rabbitmq
搬砖的小码农_Sky1 小时前
Windows操作系统上`ping`命令的用法详解
运维·网络·windows
Kiri霧8 小时前
Rust模式匹配详解
开发语言·windows·rust
程序设计实验室10 小时前
使用命令行删除 Windows 网络映射驱动器
windows
用户311879455921812 小时前
Windows 电脑安装 XTerminal 1.25.1 x64 版(带安装包下载关键词)
windows
Logintern0913 小时前
windows如何设置mongodb的副本集
数据库·windows·mongodb
Chandler2417 小时前
一图掌握 操作系统 核心要点
linux·windows·后端·系统
ajassi200017 小时前
开源 C# 快速开发(十七)进程--消息队列MSMQ
windows·开源·c#
Python私教17 小时前
5分钟上手 MongoDB:从零安装到第一条数据插入(Windows / macOS / Linux 全平台图解)
windows·mongodb·macos
Yana_Zeng19 小时前
win10安装spark3.1详细流程(小白用)
hadoop·windows·spark