mirror of
https://github.com/cuntoushifu/408.git
synced 2026-06-18 09:36:28 +08:00
add code
This commit is contained in:
@@ -172,5 +172,3 @@
|
||||

|
||||
* 4
|
||||

|
||||
|
||||
> 等待更新
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
using namespace std;
|
||||
#include <ostream>
|
||||
#define MaxSize 100
|
||||
|
||||
/*
|
||||
* ¾²Ì¬·ÖÅä
|
||||
*/
|
||||
typedef struct {
|
||||
int data[MaxSize];
|
||||
int length;
|
||||
}SqList;
|
||||
void initList(SqList &sq) {
|
||||
for (int i = 0; i < sq.length; i++)
|
||||
sq.data[i] = 0;
|
||||
sq.length = 0;
|
||||
}
|
||||
void printSq(SqList sq) {
|
||||
for (int i = 0; i < sq.length; i++)
|
||||
printf("%d:%d\n", i, sq.data[i]);
|
||||
}
|
||||
|
||||
int main() {
|
||||
SqList sq;
|
||||
initList(sq);
|
||||
printSq(sq);
|
||||
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
@@ -110,7 +110,8 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="test.cpp" />
|
||||
<ClCompile Include="顺序表动态分配.cpp" />
|
||||
<ClCompile Include="顺序表静态分配.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="test.cpp">
|
||||
<ClCompile Include="顺序表静态分配.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="顺序表动态分配.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
57
数据结构/线性表/顺序表代码/顺序表代码/顺序表动态分配.cpp
Normal file
57
数据结构/线性表/顺序表代码/顺序表代码/顺序表动态分配.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
#pragma warning(disable:4996) //»òÕßʹÓÃÕâ¸ö
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#define InitSize 5
|
||||
|
||||
typedef struct {
|
||||
int *data;
|
||||
int MaxSize;
|
||||
int length;
|
||||
}SeqList;
|
||||
void initList(SeqList &sq) {
|
||||
sq.data = (int *)malloc(sizeof(int)*InitSize);
|
||||
sq.length = 0;
|
||||
sq.MaxSize = InitSize;
|
||||
}
|
||||
void increaseSize(SeqList &sq, int len)
|
||||
{
|
||||
int *p=sq.data;
|
||||
sq.data = (int *)malloc(sizeof(int)*(len + sq.MaxSize));
|
||||
for (int i = 0; i < sq.length; i++)
|
||||
sq.data[i] = p[i];
|
||||
sq.MaxSize = len + sq.MaxSize;
|
||||
|
||||
free(p);
|
||||
}
|
||||
|
||||
void printSq(SeqList sq) {
|
||||
for (int i = 0; i < sq.length; i++)
|
||||
printf("%d ", sq.data[i]);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/*
|
||||
malloc()
|
||||
free()
|
||||
|
||||
new
|
||||
delete
|
||||
*/
|
||||
//int main() {
|
||||
// SeqList sq;
|
||||
// initList(sq);
|
||||
// for (int i = 0; i < sq.MaxSize; i++)
|
||||
// scanf("%d", &sq.data[i]);
|
||||
// sq.length = sq.MaxSize;
|
||||
//
|
||||
// printSq(sq);
|
||||
//
|
||||
// increaseSize(sq, 5);
|
||||
// sq.length = sq.MaxSize;
|
||||
// printSq(sq);
|
||||
//
|
||||
//
|
||||
//
|
||||
// system("pause");
|
||||
// return 0;
|
||||
//}
|
||||
97
数据结构/线性表/顺序表代码/顺序表代码/顺序表静态分配.cpp
Normal file
97
数据结构/线性表/顺序表代码/顺序表代码/顺序表静态分配.cpp
Normal file
@@ -0,0 +1,97 @@
|
||||
//using namespace std;
|
||||
#pragma warning(disable:4996)
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#define MaxSize 100
|
||||
|
||||
/*
|
||||
* 静态分配
|
||||
*/
|
||||
typedef struct {
|
||||
int data[MaxSize];
|
||||
int length;
|
||||
}SqList;
|
||||
void initList(SqList &sq) {
|
||||
//for (int i = 0; i < sq.length; i++)
|
||||
// sq.data[i] = 0;
|
||||
sq.length = 0;
|
||||
|
||||
}
|
||||
void printSq(SqList sq) {
|
||||
printf("长度:%d\n", sq.length);
|
||||
for (int i = 0; i < sq.length; i++)
|
||||
printf("%d ", sq.data[i]);
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
/*
|
||||
x
|
||||
1 2 3 4 5
|
||||
3 4 5
|
||||
|
||||
*/
|
||||
bool listInsert(SqList &sq,int i,int e) {
|
||||
|
||||
if (sq.length+1 > MaxSize||i>sq.length+1||i<1) return 0;
|
||||
printf("%d位置插入%d\n", i, e);
|
||||
for (int j = sq.length; j > i-1; j--)
|
||||
sq.data[j] = sq.data[j -1];
|
||||
sq.data[i-1] = e;
|
||||
sq.length++;
|
||||
return 1;
|
||||
|
||||
}
|
||||
int listDelete(SqList &sq,int i,int &e) {
|
||||
printf("%d位置删除%d\n", i, e);
|
||||
|
||||
|
||||
if (i<1 || i>sq.length) return 0;
|
||||
|
||||
e = sq.data[i - 1];
|
||||
|
||||
for (int j = i; j<sq.length; j++)
|
||||
sq.data[j-1] = sq.data[j];
|
||||
|
||||
|
||||
sq.length--;
|
||||
return 1;
|
||||
}
|
||||
|
||||
void scanfSq(SqList &sq) {
|
||||
int len=0;
|
||||
puts("输入长度:");
|
||||
scanf("%d", &len);
|
||||
fflush(stdin);
|
||||
puts("输入元素:");
|
||||
sq.length = len;
|
||||
for (int i = 0; i < len; i++)
|
||||
scanf("%d", &sq.data[i]);
|
||||
fflush(stdin);
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main() {
|
||||
SqList sq;
|
||||
initList(sq);
|
||||
scanfSq(sq);
|
||||
printSq(sq);
|
||||
int insertTmp=0,insertI=0;
|
||||
printf("位置元素 :\n");
|
||||
scanf("%d", &insertI);
|
||||
scanf("%d", &insertTmp);
|
||||
listInsert(sq, insertI, insertTmp);
|
||||
printSq(sq);
|
||||
fflush(stdin);
|
||||
|
||||
printf("删除第几个元素:\n");
|
||||
int tmp = 0,result=0;
|
||||
scanf("%d", &tmp);
|
||||
listDelete(sq, tmp,result);
|
||||
|
||||
|
||||
printSq(sq);
|
||||
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user