社区
模式及实现
帖子详情
哪位高手能给出个模板
xiaoleibps
2020-02-23 11:20:34
这个实验应该怎样做?先写什么后写什么呀?
...全文
129
2
打赏
收藏
哪位高手能给出个模板
这个实验应该怎样做?先写什么后写什么呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaoleibps
2020-02-24
打赏
举报
回复
我学的数据结构,大一,应该是用c和c++都可以
寻开心
2020-02-23
打赏
举报
回复
简单的写了一下, 自己测试吧
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 线性表定义,用int数组来实现
typedef struct LineListType { int nMaxSize; int nSize; int *pData; } LineList;
// 创建一个空的线性表
LineList * CreateLineList(void ) {
LineList * pList = (LineList*) malloc( sizeof(LineList));
pList->nMaxSize = 8;
pList->nSize = 0;
pList->pData = (int *) malloc(pList->nMaxSize*sizeof(int));
return pList;
};
// 在线性表后面,一次插入一个数组
void AppendList(LineList* pList, int n, int *v) {
if ( pList==NULL ) return;
if ( pList->nMaxSize - pList->nSize <n ) {
pList->nMaxSize += (n+7)>>3 << 3;
pList->pData = (int*) realloc(pList->pData, pList->nMaxSize*sizeof(int));
}
memcpy(pList->pData+pList->nSize, v, n*sizeof(int));
pList->nSize += n;
};
// 打印输出线性表
void PrintList(LineList * pList) {
for (int i=0; i<pList->nSize; i++)
printf("%d ", pList->pData[i]);
printf("\n");
};
// 在指定的位置插入,有效范围0~nSize, 尾巴上是可以插入的
int InsertList(LineList *pList, int nPos, int v)
{
if (NULL == pList) return 0;
if ( nPos <0 || nPos > pList->nSize ) {
printf("InsertList:Wrong postion\n\007");
return 0;
}
if (pList->nMaxSize < pList->nSize +1 ) {
pList->nMaxSize += 8;
pList->pData = (int*) realloc(pList->pData, pList->nMaxSize*sizeof(int));
};
int t = pList->nSize++;
while ( t>nPos) {
pList->pData[t] = pList->pData[t-1];
--t;
}
pList->pData[t] = v;
return 1;
}
// 删除指定位置为的
// return 0 means falure, return 1 means success
int DeleteAtList(LineList*pList, int nPos) {
if ( NULL == pList )return 0;
if (nPos <0 || nPos >= pList->nSize ) {
printf("DeleteAtList: Wrong Position\n");
return 0;
};
while(nPos<pList->nSize) {
pList->pData[nPos] = pList->pData[nPos+1];
nPos++;
};
--pList->nSize;
return 1;
};
// 排序用的比较函数,给qsort使用
int comp(const void *a, const void *b ) {
return *((int*)a) > *((int*)b);
};
// 线性表排序。 如果愿意,扩展线性表的结构
void SortList(LineList* pList) {
qsort (pList->pData, pList->nSize, sizeof(int), comp);
};
// 对已经排序的线性表做插入
int InsertSortedList(LineList* pList, int v ) {
// 自己写吧
}
int main() {
LineList *pList = CreateLineList();
int init[] = {12, 25,7, 42,19,38};
AppendList(pList, 6, init);
PrintList(pList);
InsertList(pList, 3, 2);
PrintList(pList);
InsertList(pList, 12,4);
DeleteAtList(pList,2);
PrintList(pList);
SortList(pList);
PrintList(pList);
return 0;
}
Project 2010教程
### Project 2010教程:全面掌握项目管理利器 ...通过本文的介绍,相信你已经掌握了使用Project 2010进行基本项目管理的关键步骤,未来在实际操作中不断探索与学习,定能成为项目管理领域的
高手
。
记住这7个Prompt提示
模板
,你也能成为写作
高手
!
记住这7个Prompt提示
模板
,你也能成为写作
高手
!
从文案小白到文案
高手
,你只需看完这十个
模板
文案是一种用文字来传达信息、引发情感、促进行动的技巧。...文案的形式有很多,比如...这里我为你整理了十个常用的文案
模板
,每个
模板
都
给出
了常见的格式和示例,你只要按照
模板
填充你的内容,就可以轻松地完成一篇文案。
Django
模板
大揭秘: 打造个性化网站只需四步!
从基础
模板
的构建到动态内容的展示,再到
模板
继承和
模板
块的高级应用,每一步都详细讲解,让你轻松成为Django
模板
高手
。不仅如此,阿佑还将分享提高开发效率和维护性的独家策略,让你的网站开发之路更加顺畅。立即...
模板
和宏的区别
模板
和宏的区别(转载)前言什么是“本质”变量声明测试类的定义使用
模板
使用宏产生区别的原因方法调用测试
模板
和宏的方法调用产生区别的原因假如
模板
是通过一组宏实现代码测试看法结论 前言 前些日子,论坛里大打...
模式及实现
5,529
社区成员
4,167
社区内容
发帖
与我相关
我的任务
模式及实现
C/C++ 模式及实现
复制链接
扫一扫
分享
社区描述
C/C++ 模式及实现
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章